加了高斯噪声模糊与自带函数模糊
高斯平滑函数GaussianBlur():定义:GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)
使用该函数造成一种毛玻璃的效果
由于三个是 等于None ,只要写三个参数
src,输入图像,即源图像,填Mat类的对象即可。它可以是单独的任意通道数的图片,但需要注意,图片深度应该为CV_8U,CV_16U, CV_16S, CV_32F 以及 CV_64F之一。
ksize,高斯内核的大小。其中ksize.width和ksize.height可以不同,但他们都必须为正数和奇数(并不能理解)。或者,它们可以是零的,它们都是由sigma计算而来
sigmaX, 标准差。
# coding=GBK
import cv2 as cv
import numpy as np
def clamp(pv):
if(pv>255):
return 255
if(pv<0):
return 0
else :
return pv
def gaussian_noise(image):
h,w,c=image.shape
for row in range (0,h,1):
for col in range (0,w,1):
s=np.random.normal(0,20,3)
b=image[row,col,0]
g=image[row,col,1]
r=image[row,col,2]
image[row,col,0]=clamp(b+s[0])
image[row,col,1]=clamp(b+s[1])
image[row,col,2]=clamp(b+s[2])
cv.imshow("gaussian_noise",image)
image1=cv.imread("D://2.png")
cv.imshow("yuantu",image1)
dst=cv.GaussianBlur(image1,(0,0),15)
gaussian_noise(image1)
cv.imshow("hanshu_gaussian",dst)
cv.waitKey(0)
cv.destroyAllWindows()