美文网首页
6、模糊

6、模糊

作者: BigBigGuy | 来源:发表于2019-01-03 11:59 被阅读0次

    模糊,即离散卷积
    所以卷积通俗话语是:模糊操作

    一维卷积原理:

    image.png

    多维卷积原理:即每个通道进行一维卷积


    模糊:均值模糊、中值模糊、自定义模糊

    均值模糊

    def blur_function(image):
        """
        均值模糊:用于去除随机噪声
        """
        horizontal_blur = cv.blur(image, (15, 1))  # 水平模糊
        cv.imshow("horizontal_blur", horizontal_blur)
    
        vertical_blur = cv.blur(image, (1, 15))  # 垂直模糊
        cv.imshow("vertical_blur", vertical_blur)
    
    均值模糊

    中值模糊

    
    def media_blur_function(image):
        """
        中值模糊:用于去除椒盐噪声,即一粒粒的噪音
        """
        media_blur = cv.medianBlur(image, 5)
        cv.imshow("media_blur", media_blur)
    
    除椒盐噪音

    自定义模糊

    def custom_blur_function(image):
        """
            自定义模糊:可以进行模糊和锐化
        """
        kernel = np.ones([5, 5], np.float32)/25  # 5*5 = 25
        #kernel = np.array([[1, 1, 1], [1, 1, 1], [1, 1, 1]], np.float32) /9 # 这个9要注意,何时求取整看总和吧,可能
        
        dst = cv.filter2D(image, -1, kernel=kernel)
        cv.imshow("custom_blur", dst)
    
    自定义模糊
    #锐化
    kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32)
    #总和 = 0:表示做边缘梯度
    #总和 = 1:表示做增强的工作
    
    dst = cv.filter2D(image, -1, kernel=kernel)
    cv.imshow("custom_blur", dst)
    
    锐化,图像增强
    kernel = np.array([[0, -1, 0], [-1, 5, -1], [-1, -1, 0]], np.float32)
    #总和 = 0:表示做边缘梯度
    
    dst = cv.filter2D(image, -1, kernel=kernel)
    cv.imshow("custom_blur", dst)
    
    边缘梯度

    相关文章

      网友评论

          本文标题:6、模糊

          本文链接:https://www.haomeiwen.com/subject/ifmilqtx.html