- 均值模糊
- 中值模糊
- 自定义模糊
均值模糊
import cv2 as cv
import numpy as np
# 均值模糊
def blur_demo(img):
dst = cv.blur(img, (5, 5))
cv.imshow("blur image", dst)
中值模糊
import cv2 as cv
import numpy as np
# 中值模糊
def median_blur_demo(img):
dst = cv.medianBlur(img, 5)
cv.imshow("median_blur_demo", dst)
对比均值模糊和中值模糊
image = cv.imread('./data/ai.png', 1)
cv.imshow('source image', image)
median_blur_demo(image)
blur_demo(image)
cv.waitKey(0)
cv.destroyAllWindows()

中值滤波处理椒盐噪声效果显著!
自定义模糊
注意:要做防止溢出的处理
def custom_blur_demo(img):
kernel = np.ones([5, 5], np.float32)/25
dst = cv.filter2D(img, -1, kernel=kernel)
cv.imshow("custom_blur_demo", dst)
自定义锐化操作
def custom_blur_demo(img):
#kernel = np.ones([5, 5], np.float32)/25
kernel = np.array([[0, -1, 0],
[-1, 5, -1],
[0, -1, 0]], np.float32)
dst = cv.filter2D(img, -1, kernel=kernel)
cv.imshow("custom_blur_demo", dst)
演示demo:
image = cv.imread('./data/lena.jpg', 1)
cv.imshow('source image', image)
custom_blur_demo(image)
cv.waitKey(0)
cv.destroyAllWindows()
原图:

自定义1:

自定义2:

filter2D():对每个通道使用相同的核
split() + merge() : 对不同通道使用不同的核

本文深入探讨了图像处理中的模糊技术,包括均值模糊、中值模糊及自定义模糊方法。通过Python的OpenCV库实现各种模糊效果,展示了如何处理椒盐噪声,并提供了锐化操作的代码示例。
759

被折叠的 条评论
为什么被折叠?



