661. 图片平滑器
利用ans存答案,平滑的窗口判断一下边界,用sum存平滑窗口的和,用cnt存平滑窗口的大小,答案不会超过LL
class Solution {
public:
vector<vector<int>> imageSmoother(vector<vector<int>>& img) {
int n = img.size(), m = img[0].size();
vector<vector<int>> ans(n, vector<int>(m));
for (int i = 0; i < n; i ++ )
for (int j = 0; j < m; j ++ ) {
int sum = 0, cnt = 0;
for (int x = max(0, i - 1); x <= min(n - 1, i + 1); x ++ )
for (int y = max(0, j - 1); y <= min(m - 1, j + 1); y ++ )
sum += img[x][y], cnt ++ ;
ans[i][j] = sum / cnt;
}
return ans;
}
};
该博客介绍了一个C++实现的图片平滑器,通过一个平滑窗口来平均周围像素值,达到平滑图片的效果。代码中使用双层循环遍历图片每个像素,计算其周围9个像素的平均值作为新像素值,返回平滑后的图片矩阵。
416

被折叠的 条评论
为什么被折叠?



