【题目描述】
给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理:
1.四周最外侧的像素点灰度值不变;
2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。带我去看题目
【输入】
第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 ≤ n ≤ 100,1 ≤ m ≤ 100。
接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0?255之间。
【输出】
n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。
【输入样例】
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
【通过代码】
#include <bits/stdc++.h> using namespace std; int m,n,a[101][101],b[101][101]; int main(){scanf("%d%d",&m,&n);for(int i = 1;i <= m;i ++)for(int j = 1;j <= n;j ++){scanf("%d",&a[i][j]);if(i == 1 || i == m || j == 1 || j == n)b[i][j] = a[i][j];}for(int i = 2;i < m;i ++)for(int j = 2;j < n;j ++)b[i][j] = round((double)(a[i][j] + a[i-1][j] + a[i+1][j] + a[i][j-1] + a[i][j+1])/5.0);for(int i = 1;i <= m;i ++)for(int j = 1;j <= n;j ++)printf("%d%c",b[i][j],j == n?'\n':' ');return 0; }
详细解决方案
1128:图像模糊处理
热度:74 发布时间:2024-02-08 07:45:36.0
相关解决方案
- PAT - 甲级 - 1128. N Queens Puzzle (20) (8皇后问题变形)
- LeetCode—— 1128 等价多米诺骨牌对的数量
- ZZULIOJ 1128: 课程平均分,Java
- 1128 N Queens Puzzle (20分)
- codevs 1128 导弹拦截
- zcmu--2204: Keyboard(模拟)+ ZCMU 1128(简单模拟)
- 1128. 等价多米诺骨牌对的数量(*)
- hihoCoder #1128 : 二分·二分查找
- PAT (Advanced Level) 1128 N Queens Puzzle (20分)【化简】
- 1128:图像模糊处理
- LeetCode刷题日记-数组-1128. 等价多米诺骨牌对的数量
- AcWing 1128 信使【最短路】