登录 |  注册 |  繁體中文


图像平滑算法介绍

分类: 人工智能&大数据 颜色:橙色 默认  字号: 阅读(1011) | 评论(0)

图像平滑算法介绍

1. 均值滤波

均值滤波是指任意一点的像素值,都是周围 N * M 个像素值的均值。例如下图中,红色点的像素值是其周围蓝色背景区域像素值之和除25,25=5 * 5 是蓝色区域的大小。

其中5 * 5的矩阵称为

# 实现方法为 result = cv2.blur(原始图像,核大小) 
# 其中,核大小是以(宽度,高度)表示的元组形式。常见的形式包括:核大小(3,3)和(5,5)。 
result = cv2.blur(source, (3, 3)) 

1)随着核大小逐渐变大,会让图像变得更加模糊;
2)如果设置为核大小为(1,1),则结果就是原始图像。
3)  均值滤波减小了图像灰度的“尖锐变化”,起到了减噪的作用。但是均值滤波处理带来了边缘模糊的负面效应

2. 中值滤波

在使用均值滤波去噪的同时也使得边界变得模糊。而中值滤波是非线性的图像处理方法,在去噪的同时可以保留边界信息。选一个含有奇数点的窗口W,将这个窗口在图像上扫描,把窗口中所含的像素点按灰度级的升或降序排列,取位于中间的灰度值来代替该点的灰度值。计算过程如下图所示:

#dst = cv2.medianBlur(src, ksize)
#其中,参数:
#src 表示源图像;
#ksize 表示核大小。核必须是大于1的奇数,如3、5、7等。
result = cv2.medianBlur(img, 3)

1)随着核大小逐渐变大,会让图像变得更加模糊;
2)核必须是大于1的奇数,如3、5、7等;

3 高斯滤波

图像高斯平滑中,对图像进行平均时,不同位置的像素被赋予了不同的权重。较近的像素具有较大的权重值。如下图所示,中心位置权重最高为0.4。

#dst = cv2.GaussianBlur(src, ksize, sigmaX)
#其中,参数:
#src 表示原始图像;
#ksize 表示核大小,必须是奇数;
#sigmaX 表示X方向方差,主要控制权重。

result = cv2.GaussianBlur(source, (5, 5), 0)

1)随着核大小逐渐变大,会让图像变得更加模糊;

2)核大小(N, N)必须是大于1的奇数,如3、5、7等;

3)核大小为 33  

                                                                  

4)核大小为 55

 

核数据计算公式如下




姓 名: *
邮 箱:
内 容: *
验证码: 点击刷新 *   

回到顶部