Opencv_Python_7_高斯模糊

本文介绍了如何使用OpenCV中的cv.GaussianBlur()函数实现高斯模糊效果,并展示了如何为图像添加高斯噪声的方法。此外,还提供了具体的Python代码实例。

高斯模糊使用函数cv.GaussianBlur()完成。
cv.GaussianBlur(src, ksize, sigmaX)
我们应该指定应该是正数和奇数的内核的宽度和高度。我们还应该分别指定X和Y方向的标准差,sigmaX和sigmaY。如果只指定sigmaX,则sigmaY与sigmaX相同。如果两者都是零,则它们是从内核大小计算的。
如果你愿意,你可以用函数cv.getGaussianKernel()创建一个高斯内核。

1, 给一张图片增加高斯噪声

def gaussian_noise(image):
    h, w, c = image.shape
    for row in range(0, h):
        for col in range(0, w):
            noise = np.random.normal(0, 20, 3)
            b = image[row, col, 0]  # blue
            g = image[row, col, 1]  # green
            r = image[row, col, 2]  # red
            image[row, col, 0] = clamp(b + noise[0])
            image[row, col, 1] = clamp(g + noise[1])
            image[row, col, 2] = clamp(r + noise[2])
    cv.imshow("noise image", image)

2, 对一张图片进行高斯模糊:

dst = cv.GaussianBlur(src=src, ksize=(5, 5), sigmaX=0)
其中各参数所表达的意义:
	src:原图像;
	ksize:高斯核的大小,其中的数值必须为正奇数
	sigmaX:x方向标准方差
高斯模糊应用场景:去高斯噪声

Tips:
保证像素值在0——255之间

def clamp(pv):  # 保证像素值在0——255之间
    if pv > 255:
        return 255
    if pv < 0:
        return 0
    else:
        return pv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值