信息学奥赛一本通(1128:图像模糊处理)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1128:图像模糊处理)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1128:圖像模糊處理
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 26756 ??? 通過數: 11417
【題目描述】
給定nn行mm列的圖像各像素點的灰度值,要求用如下方法對其進行模糊化處理:
1.四周最外側的像素點灰度值不變;
2.中間各像素點新灰度值為該像素點及其上下左右相鄰四個像素點原灰度值的平均(舍入到最接近的整數)。
【輸入】
第一行包含兩個整數nn和mm,表示圖像包含像素點的行數和列數。1≤n≤100,1≤m≤1001≤n≤100,1≤m≤100。
接下來nn行,每行mm個整數,表示圖像的每個像素點灰度。相鄰兩個整數之間用單個空格隔開,每個元素均在0~2550~255之間。
【輸出】
nn行,每行mm個整數,為模糊處理后的圖像。相鄰兩個整數之間用單個空格隔開。
【輸入樣例】
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<stdio.h> #include<math.h> #define N 110 int a[N][N],b[N][N]; int main() {int m,n;int i,j;scanf("%d%d",&n,&m);for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++) {for(j=0;j<m;j++)if(i==0 || i==n-1 || j==0 || j==m-1)b[i][j]=a[i][j];elseb[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=0;i<n;i++){for(j=0;j<m;j++)printf("%d ",b[i][j]);printf("\n");}return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1128
總結
以上是生活随笔為你收集整理的信息学奥赛一本通(1128:图像模糊处理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1400:统计单词数)
- 下一篇: 信息学奥赛一本通 1102:与指定数字相