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双边滤波:能在保持边界清晰的情况下有效的去除噪点。在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kingroc/article/details/84757282