1.模糊操作概念
模糊操作分类:
1.均值模糊
2.中值模糊
3.自定义模糊
模糊操作基本原理:
1.模糊原理:离散卷积
2.定义好每个卷积核,不同卷积核达到不同的卷积效果
3.迷糊是卷积的一种表象
卷积原理:
2.均值、中值、自定义模糊
2.1 均值模糊cv.blur
对随机噪声有很好的处理效果
import cv2 as cv
import numpy as np
"均值模糊:"
def blur_demo(image):
dst=cv.blur(image,(1,10))#卷积核大小为(1,10)
cv.imshow('blur image',dst)
src=cv.imread(r'D:\Project\Opencv\Learning01\lina.png'')
cv.namedWindow('input image',cv.WINDOW_AUTOSIZE)
cv.imshow("origin image",src)
blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
2.2 中值模糊cv.medianBlur
对椒盐噪声有很好的处理效果,椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)
import cv2 as cv
import numpy as np
"中值模糊:"
def blur_demo(image):
dst=cv.medianBlur(image,5)
cv.imshow('blur image',dst)
src=cv.imread(r'D:\Project\Opencv\Learning01\lina.png')
cv.namedWindow('input image',cv.WINDOW_AUTOSIZE)
cv.imshow("origin image",src)
blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
2.3 自定义模糊cv.filter2D
自定义模糊需要,自定义卷积核kernel、应用cv.filter2D
import cv2 as cv
import numpy as np
"自定义模糊:"
def blur_demo(image):
''''''
'''自定义卷积核'''
# 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(image,-1,kernel)
cv.imshow('blur image',dst)
src=cv.imread(r'D:\Project\Opencv\Learning01\angelababy.jpg')
cv.namedWindow('input image',cv.WINDOW_AUTOSIZE)
cv.imshow("origin image",src)
blur_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()