zoukankan      html  css  js  c++  java
  • 1128:图像模糊处理

    时间限制: 1000 ms 内存限制: 65536 KB
    提交数: 8203 通过数: 3472

    【题目描述】

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

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

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

    【输入】

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

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

    【输出】

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

    【输入样例】

    4 5
    100 0 100 0 50
    50 100 200 0 0
    50 50 100 100 200
    100 100 50 50 100

    【输出样例】

    100 0 100 0 50
    50 80 100 60 0
    50 80 100 90 200
    100 100 50 50 100

    【来源】

    No

    代码

    #include<iostream>
    #include<cmath> 
    using namespace std;
    int main()
    {
      int m,n;
      int a[101][101];
      double b[101][101];
      int i,j;
      cin>>n>>m;
      for(i=1;i<=n;i++)
    	  for(j=1;j<=m;j++)
    	  cin>>a[i][j];
    
      for(i=1;i<=n;i++)
      {
          for(j=1;j<=m;j++)
      	  if((i==1||i==n||j==1||j==m)) b[i][j]=a[i][j];
    	  else b[i][j]=round((a[i][j]+a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1])/5.0);
      }
      for(i=1;i<=n;i++)
      {
          for(j=1;j<=m;j++)
    	  cout<<b[i][j]<<" ";
       cout<<endl;
      }
        return 0;
    }
    
  • 相关阅读:
    【Java学习】01. Java基本介绍及环境搭建
    vue组件之间的传值
    检测上传的文件类型js实现方式
    正则表达式学习笔记
    Nuxt.js学习笔记
    Vue+typescript+vuex项目实践学习笔记
    项目依赖&开发依赖
    vuex学习笔记
    export与export default的区别
    ES6 数组去重方法
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338533.html
Copyright © 2011-2022 走看看