对图片进行中值滤波的方法

2025-10-28 23:13:22

1、对图片用3阶中值滤波器进行处理:

import cv2

a = cv2.imread('a.png')

b = cv2.medianBlur(a,3)

对图片进行中值滤波的方法

2、对图片使用11阶滤波器:

b = cv2.medianBlur(a,11)

对图片进行中值滤波的方法

3、中值滤波器的阶数必须是奇数:

b = cv2.medianBlur(a,6)

会报错。

对图片进行中值滤波的方法

4、看一下用11阶中值滤波器处理图片,会用多长时间:

import cv2

import numpy as np

a = cv2.imread('a.png')

e = cv2.getTickCount()

b = cv2.medianBlur(a,11)

f = cv2.getTickCount()

t = (f-e)/cv2.getTickFrequency()

print(t)

答案是0.03秒左右。

对图片进行中值滤波的方法

5、一般的,滤波器越大,用的时间越长:

import cv2

import numpy as np

a = cv2.imread('a.png')

for n in range(3,50,2):

    e = cv2.getTickCount()

    b = cv2.medianBlur(a,11)

    f = cv2.getTickCount()

    t = (f-e)/cv2.getTickFrequency()

    print(t)

对图片进行中值滤波的方法

6、中值滤波器越大,图像越模糊:

b = cv2.medianBlur(a,19)

b = cv2.medianBlur(a,59)

b = cv2.medianBlur(a,99)

对图片进行中值滤波的方法

对图片进行中值滤波的方法

对图片进行中值滤波的方法

7、但是,滤波器的大小不能过大,不论是高度还是宽度:

b = cv2.medianBlur(a,365)

图片大小是500*500,所以滤波器不能超过365*365大小。

对图片进行中值滤波的方法

对图片进行中值滤波的方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢