opencv学习笔记(8)模糊与锐化操作

## 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)

你可能感兴趣的:(opencv学习)