1128:图像模糊处理
生活随笔
收集整理的這篇文章主要介紹了
1128:图像模糊处理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
時間限制: 1000 ms 內(nèi)存限制: 65536 KB
提交數(shù): 8203 通過數(shù): 3472
【題目描述】
給定n行m列的圖像各像素點的灰度值,要求用如下方法對其進(jìn)行模糊化處理:
1.四周最外側(cè)的像素點灰度值不變;
2.中間各像素點新灰度值為該像素點及其上下左右相鄰四個像素點原灰度值的平均(舍入到最接近的整數(shù))。
【輸入】
第一行包含兩個整數(shù)n和m,表示圖像包含像素點的行數(shù)和列數(shù)。1≤n≤100,1≤m≤100。
接下來n行,每行m個整數(shù),表示圖像的每個像素點灰度。相鄰兩個整數(shù)之間用單個空格隔開,每個元素均在0~255之間。
【輸出】
m行,每行n個整數(shù),為模糊處理后的圖像。相鄰兩個整數(shù)之間用單個空格隔開。
【輸入樣例】
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; }總結(jié)
以上是生活随笔為你收集整理的1128:图像模糊处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2018年第九届省赛C/C++A组第5题
- 下一篇: 1130:找第一个只出现一次的字符