代码
解释都在注释里啦
import cv2 as cv
import numpy as nm
#对图像做模糊处理
def vague(img):
img1=cv.blur(img,(5,5))
'''
blur(src,ksize,dst=None, anchor=None, borderType=None):均值模糊函数
src:要模糊的图片
ksize:要模糊的像素范围,是个矩阵,(5,5)即5*9的大小
'''
cv.imshow("average",img1)
img2=cv.medianBlur(img,5)
'''
medianBlur(src, ksize, dst=None):中值模糊函数
src:要模糊处理的图片
ksize:是一个数字,5即表示了5*5的方正
'''
cv.imshow("median",img2)
img3=cv.GaussianBlur(img,(5,5),2)
cv.imshow("Gaussian",img3)
'''
GuassianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)
sigmaX:标准差
'''
img4=cv.bilateralFilter(img,5,2,2)
cv.imshow("bilateral", img3)
'''
bilateralFilter(src, d, sigmaColor, sigmaSpace, dst=None, borderType=None)
d:模糊直径
sigamaColor;颜色标准差
sigamaSpace:空间标准差、
'''
def selfdef(img):
mask1=nm.ones((5,5),nm.float)#自定义矩阵大小,防止数值溢出
img1=cv.filter2D(img,-1,mask1)
cv.imshow("selfVague",img1)
mask2 = nm.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], nm.float32)
img2=cv.filter2D(img,-1,mask2)
cv.imshow("selfsharpen",img2)
img=cv.imread("mei.jpg")
cv.imshow("Before",img)
selfdef(img)
cv.waitKey(0)
cv.destroyAllWindows()