图像平滑(滤波)
- 格式:pdf
- 大小:77.36 KB
- 文档页数:2
图像平滑(滤波)⽬录
滤波理论
图像滤波,即在尽量保留图像细节特征的条件下 对⽬标图像的噪声 进⾏抑制。
是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到 后续图像处理 和 分析的有效性和可靠性。
消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量⼤部分集中在幅度谱的低频和中频段是很常见的,⽽在较⾼频段,
感兴趣的信息经常被噪声淹没。因此⼀个能降低⾼频成分幅度的滤波器就能够减弱噪声的影响。
⽬的
1. 消除图像中混⼊的噪声;
2. 为图像识别抽取出图像特征。
要求
1. 不能损坏图像轮廓及边缘;
2. 图像视觉效果应当更好。
⼀、均值滤波
均值滤波是平均卷积操作
⽐如九个格⼦,将中间的格⼦(第五个)的值,作为原来的平均数;
blur = cv2.blur(img, (3,3)) # 每 3x3 做⼀个操作;即 核 为 3x3cv_show(blur)
⼆、⽅框滤波
基本和均值⼀样,可以选择归⼀化,容易越界
中间参数基本都是⽤ -1;
如果不使⽤ normalize,可能会越界;所有越界值,如果⼤于 255,就取 255;normalize 指定为 True,代表做归⼀化,和均值滤波⼀样;
box = cv2.boxFilter(img, -1, (3,3), normalize=False)# cv_show(box)plt.imshow(box)
box2 = cv2.boxFilter(img, -1, (3,3), normalize=False)# cv_show(box2)plt.imshow(box2)
三、⾼斯滤波
⾼斯模糊的卷积核⾥的数值,是满⾜⾼斯分布的,相当于更重视中⼼的(距离近的)。
离得近的权重⾼,远的权重低。
aussian = cv2.GaussianBlur(img, (3,3), 1)
# cv_show(aussian)
plt.imshow(aussian)
# 噪⾳点没有前⾯的严重四、中值滤波
相当于⽤中值代替
median = cv2.medianBlur(img, 5)# cv_show(median)
plt.imshow(median)
# 展⽰所有res = np.hstack((blur, aussian, median))cv_show(res)