10分,正在找问题

B2108 图像模糊处理

题面说明取最接近整数,应四舍五入,把 ``` b[i][j]=(a[i][j-1]+a[i][j+1]+a[i-1][j]+a[i+1][j]+a[i][j])/5; ``` 改为 ``` b[i][j]=(a[i][j-1]+a[i][j+1]+a[i-1][j]+a[i+1][j]+a[i][j])/5.0+0.5; ``` 试试
by panrong @ 2024-03-31 18:47:54


@[Xianyujunzhu](/user/1288602) ```cpp #include <bits/stdc++.h> using namespace std; int a[105][105],b[105][105];//数组a存储原来的灰度值,数组b存储改变了的灰度值。 int main(){ int m,n; cin>>n>>m;//n行数,m列数 //对n行m列的灰度值进行初始化 for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; b[i][j]=a[i][j]; } } //n行m列中除了四周元素的元素进行灰度值改变 for(int i=2;i<n;i++){ for(int j=2;j<m;j++){ b[i][j]=round((a[i][j]+a[i][j+1]+a[i][j-1]+a[i-1][j]+a[i+1][j])*1.0/5); } } //输出改变后的灰度值 for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cout<<b[i][j]<<" "; } cout<<endl;//每一行结束后换行 } } ```
by Andyliu2023 @ 2024-04-03 22:20:29


|