中值滤波

2022-05-28 16:12:40 浏览数 (1)

代码语言:javascript复制
import cv2
o=cv2.imread("C:/Users/xpp/Desktop/Lena.png")#原始图像
r=cv2.medianBlur(o,99)#中值滤波
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

算法:中值滤波取当前像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值进行排序,然后将位于中间位置的像素值作为当前下像素点的像素值。中值滤波对极限像素额敏感度远不如像素平均值,克服了线性滤波器模糊图像细节的缺点,达到既消除中值滤波常用于保护图像边缘信息,对消除椒盐噪声非常有效,在光学测量条纹图像的相位分析处理中有特殊作用,但在条纹中心分析方法中作用不大。

dst=cv2.medianBlur(src,ksize)

  • dst表示返回值,表示进行中值滤波后的结果
  • src表示输入图像,图像深度是CV_8U、CV_16U、CV_16S、CV_32F、CV_64F
  • ksize表示滤波核大小,即邻域图像的高度和宽度

例子:

[97 95 94 93 78 90 66 91 101]

升序排序

[66 78 90 91 93 94 95 97 101]

data=93

注意:滤波核的大小必须是比2大的奇数,比如3、5、7等。

0 人点赞