OpenCV图片模糊处理
代码位置:16-ImageBlur.py
import cv2
img = cv2.imread('./res/mini.jpeg')
cv2.imshow('org', img)
kernelsizes = [(3,3), (9,9), (15, 15)]
for kernel in kernelsizes:
blur = cv2.blur(img, kernel)
cv2.imshow('Average : ' + str(kernel), blur)
for kernel in kernelsizes:
gaussian = cv2.GaussianBlur(img, kernel, 0)
cv2.imshow('Gaussian : ' + str(kernel), gaussian)
for kernel in (3, 9, 15):
median = cv2.medianBlur(img, kernel)
cv2.imshow('MedianBlur : ' + str(kernel), median)
params = [(90, 50, 10), (50, 90, 10), (10, 90, 50)]
for p1, p2, p3 in params:
bilateral = cv2.bilateralFilter(img, p1, p2, p3)
cv2.imshow('bilateral' + str((p1, p2, p3)), bilateral)
cv2.waitKey(0)
cv2.destroyAllWindows()
- Averagin平均:计算卷积框覆盖区域所有的像素的平均值得到的卷积结果。
- Gaussian高斯模糊:框中心值最大,其余方框根据中心元素的距离递减,构成一个高斯山包。
- Median中值模糊:卷积框对应像素的中值来替代中心像素的值。
- Bilateral双边滤波:能在保持边界清晰的情况下有效的去除噪点。