当前位置:   article > 正文

Opencv_Python_7_高斯模糊_cv.gaussianblur()

cv.gaussianblur()

高斯模糊使用函数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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

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

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

def clamp(pv):  # 保证像素值在0——255之间
    if pv > 255:
        return 255
    if pv < 0:
        return 0
    else:
        return pv
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/964046
推荐阅读
相关标签
  

闽ICP备14008679号