13:图像模糊处理

图像模糊处理

Case Time Limit:1000MS

Time Limit: 3000MS   Memory Limit: 65536K
Total Submissions: 81   Accepted: 35

Description

给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理:

1. 四周最外侧的像素点灰度值不变;

2. 中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。

Input

第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。

接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。

Output

n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。

代码如下

#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
    int m,n,i,j=0;
    double sum=0;
    double a[105][105];
    double b[105][105];
    cin>>m>>n;
    for(i=1;i<=m;i++){
        for(j=1;j<=n;j++){
            cin>>a[i][j];
            b[i][j]=a[i][j];
        }
    }
    for(i=1;i<=m;i++){
        for(j=1;j<=n;j++){
            if(i!=1 && j!=1 && i!=m && j!=n){
                sum=(a[i][j]+a[i-1][j]+a[i+1][j]+a[i][j+1]+a[i][j-1])/5;
                sum=int(sum+0.5);
                b[i][j]=sum;
            }
        }
    }
    for(i=1;i<=m;i++){
        for(j=1;j<=n;j++){
        cout<<b[i][j]<<" ";
        if(j==n){
           printf("\n");
        }
        }
    }
    return 0;
} 
时间: 2024-08-06 03:41:40

13:图像模糊处理的相关文章

整理小朋友在noi.openjudge上的作业(1)

NOI(题库正在建设中,做题纪录有可能会被删除,请注意) 第一章的统计放前面 1 编程基础之输入输出 10 0 0% 最基础有空补刷 2 编程基础之变量定义.赋值及转换 10 0 0% 最基础有空补刷 3 编程基础之算术表达式与顺序执行 20 0 0% 最基础有空补刷 4 编程基础之逻辑表达式与条件分支 21 0 0% 最基础有空补刷 5 编程基础之循环控制 45 10 22% 最基础有空补刷 6 编程基础之一维数组 15 5 33% 最基础有空补刷 7 编程基础之字符串 35 0 0% 有必要

python 各模块

01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支持模块 12 _ _builtin_ _ 模块 121 使用元组或字典中的参数调用函数 1211 Example 1-1 使用 apply 函数 1212 Example 1-2 使用 apply 函数传递关键字参数 1213 Example 1-3 使用 apply 函数调用基类的构造函数 122

转:Python标准库(非常经典的各种模块介绍)

Python Standard Library 翻译: Python 江湖群 10/06/07 20:10:08 编译 0.1. 关于本书 0.2. 代码约定 0.3. 关于例子 0.4. 如何联系我们 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10. cmath 模块

[CSDN] OpenCL用于计算机领域的13个经典案例

http://www.csdn.net/article/2013-10-29/2817319-the-application-areas-opencl-can-be-used 摘要:当使用加速器和OpenCL时,哪种类型的算法更加快速?来自弗吉尼亚理工大学的Wu Feng教授和他的团队例举了一份算法列表,分享了OpenCL常被用于计算机领域的13个经典案例. 哪种算法可以最好的映射GPU及矢量处理器呢?换句话说,当使用加速器和OpenCL时,哪种类型的算法更加快速? 来自弗吉尼亚理工大学的Wu

13.Linux键盘按键驱动 (详解)

版权声明:本文为博主原创文章,未经博主允许不得转载. 在上一节分析输入子系统内的intput_handler软件处理部分后,接下来我们开始写input_dev驱动 本节目标: 实现键盘驱动,让开发板的4个按键代表键盘中的L.S.空格键.回车键 1.先来介绍以下几个结构体使用和函数,下面代码中会用到 1)input_dev驱动设备结构体中常用成员如下: struct input_dev { void *private; const char *name; //设备名字 const char *ph

JAVA 初识类加载机制 第13节

JAVA 初识类加载机制 第13节 从这章开始,我们就进入虚拟机类加载机制的学习了.那么什么是类加载呢?当我们写完一个Java类的时候,并不是直接就可以运行的,它还要编译成.class文件,再由虚拟机解释给当前的操作系统去执行.这些过程都是我们看不见的,我们能看见的也就是一个.class文件.既然虚拟机要解释这些.class文件给当前的操作系统听,那么他怎么获得这些.class文件呢?虚拟机获得这些.class文件的过程就是类加载了. 所以,总结来说就是:虚拟机将.class文件从磁盘或者其他地

RedHat6.6上安装MySQL5.7.13

由于公司需要更换新的架构,将采用MySQL5.7作为数据库的主要版本,下面将全面介绍在RedHat6.6上二进制安装MySQL5.7.13.后期也将依次介绍在MySQL5.7上的运维管理及优化. 1.下载MySQL5.7.13安装包 下载地址如下,现在的MySQL5.7稳定版已更新到5.7.14 http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz 2.新建MySQL用户和组

第20章 异常和状态管理20.7-20.13

20.7用可靠性换取开发效率 面向对象编程,编译器功能,CLR功能以及庞大的类库——使.Net Framework成为一个颇具吸引力的开发平台.但所有的这些东西,都会在你的代码中引入你没有什么控制权的“错误点”,如果 OutOfMemoryExcepton等.程序开发不可能对这些异常进行一一捕捉,让应用程序变得绝对健壮.意料意外的异常往往造成程序状态的破坏,为 了缓解对状态的破坏,可以做下面几件事: ●执行catch或finally块时,CLR不允许终止线程,所以可以向下面这样写是Transfe

12.13周记

周数 专业学习目标 专业学习时间 新增代码量 博客发表量 人文方面的学习 知识技能总结 12.13 12.13周web网页制作学习 12周7小时: 13周9小时: 12周300行: 13周400行: 一共发表4篇博客 12.13周<三国志> 12周web中的js应用: 13周C语言的二叉树,以及web中css的应用: