使用Opencv(Python)实现图像模糊

图像模糊的方法

  • 均值滤波(对高斯随机噪声有一定的抑制作用)---cv.blur()
  • 中值滤波(对椒盐噪声有很好的抑制作用)---cv.median_blur()
  • 高斯滤波(对高斯随机噪声有很好的抗性)---cv.gaussian_blur()

实现部分(均值滤波)

  • 均值滤波cv.blur()
image = cv.blur(image,(5,5))    #cv.blur(src, ksize, dst=None, anchor=None, borderType=None)

效果(均值滤波)

image.png

image.png

实现部分(中值滤波)

cv.median_blur(image, 5) #medianBlur(src, ksize, dst=None)

效果(中值滤波)

image.png

image.png

实现部分(高斯滤波)

cv.GaussianBlur(image,(5,5),0)  #GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)

高斯噪声的制作

def clamp(pv):
    if pv > 255 :
        return 255
    if pv <0
        return 0
    else :
        return pv


def Gaussian_noise_demo(image):
    h, w, c = image.shape
    for row in range(h):
        for col in range(w):
            gn = np.random.normal(0,30,4)
            b = image[row, col, 0]
            g = image[row, col, 1]
            r = image[row, col, 2]
            image[row, col, 0] = clamp(b + gn[0])
            image[row, col, 1] = clamp(g + gn[1])
            image[row, col, 2] = clamp(r + gn[2])
    cv.imshow("Gaussian_noise",image)

高斯噪声的制作的效果:

原图:


image.png

高斯噪声图:


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容