对图片进行中值滤波的方法
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。
阅读量:91
阅读量:50
阅读量:100
阅读量:23
阅读量:69