栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python+opencv:均值滤波的手动实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python+opencv:均值滤波的手动实现

翻译:

平滑空间过滤器

邻域平均(平均滤波器)

  • 最基本的滤波器,用于图像模糊/平滑和降噪
  • 用(x,y)邻域内强度的平均值替换像素(x,y)处的强度
  • 我们也可以使用加权平均,赋予邻近区域内的一些像素比其他像素更重要的位置,这样可以减少模糊效果
  • 邻域平均模糊边缘

缺点:不能很好地保护图像的细节,在去噪过程中会破坏细节,导致图像模糊;

代码实现:

imgDog = cv2.imread("Dog.png")

row_Dog, col_Dog, channel_Dog = imgDog.shape

# 假设kernel的大小为5*5的矩阵,padding就是5//2 = 2
# padding与接下来的I[a:b,c:d]有关
kernel = np.ones((5,5))
out_Dog = np.zeros((row_Dog, col_Dog,channel_Dog))

for r in range(2, row_Dog - 2):
    for c in range(2, col_Dog - 2):
        for channel in range(channel_Dog):
            out_Dog[r, c, channel] = np.sum(kernel * imgDog[r-2:r+3, c-2:c+3, channel]) // (5 ** 2)

cv2.imwrite("output_Dog.png", np.uint8(out_Dog))

前后对比:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983119.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号