图像平滑(滤波)

  • 格式: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)