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

时间:2026-02-14 04:48:56

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大小。

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

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

© 2026 一点资料
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com