• 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;
    }
    
  • 相关阅读:
    使用rdbtools工具来解析redis rdb文件
    Python三十个常见的脚本汇总
    python字节(bytes)
    Centos7安装MySQL8.0
    shell数组等基本用法
    怎么理解分布式、高并发、多线程?
    MySql 5.7.23安装
    Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录
    MySQL会发生死锁吗?
    CentOS7利用systemctl添加自定义系统服务
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338532.html
Copyright © 2020-2023  润新知