## coding=UTF-8
import numpy as np
import cv2 as cv
#均值模糊,主要用于去掉随机噪声
def blur_demo(image):
dst = cv.blur(image,(5,5))
cv.imshow("blur_image",dst)
#中值模糊,主要用于去除“椒盐噪声”(很形象的名字)
def median_blur_demo(image):
dst = cv.medianBlur(image,5)
cv.imshow("medianBlur_image",dst)
#自定义模糊/锐化,看自己需求咯
def custom_blur_demo(image):
kernel = np.ones([5,5],np.float32)/25
dst = cv.filter2D(image,-1,kernel=kernel)
cv.imshow("custom_blur_image",dst)
src = cv.imread("D:/academic/picture/bili.png")
cv.imshow("raw_image",src)
blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
均值模糊效果:
中值模糊效果(白色的像椒盐一样的颗粒没有啦):
自定义模糊/锐化效果:
效果一(模糊):
所选参数:
kernel = np.ones([5,5],np.float32)/25
dst = cv.filter2D(image,-1,kernel=kernel)
可以看到,这个处理过的图像,和第一次我们用均值模糊的效果是一样的。因为确实应该是一样的。。。观察一下两次的代码参数:
dst = cv.blur(image,(5,5))
-------------------------------
kernel = np.ones([5,5],np.float32)/25
dst = cv.filter2D(image,-1,kernel=kernel)
效果二(锐化):
所选参数:
kernel = np.array(([-1,0,-1],[0,5,0],[-1,0,-1]),np.float32)
dst = cv.filter2D(image,-1,kernel=kernel)