python-图像模糊操作

python-图像模糊操作

    • 一、均值模糊
    • 二、中值模糊
    • 三、高斯模糊
    • 四、双边滤波

"""
图像模糊:在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声
opencv主要提供四种模糊技术
1.均值模糊
   格式:cv2.blur(img,(n1,n2))  img表示图片,n1表示x方向卷积核大小,n2表示y方向卷积核大小
2.中值模糊:取内核区域下所有像素的中值,然后用这个中值替换中心元素
   格式:cv2.medianBlur(img,n1) img表示图片,n1表示卷积核大小,应该是正奇数
3.高斯模糊:在进行均值模糊的时候,其领域类的每个像素权重是相等的,高斯模糊中,会将中心点的
          权重值加大,远离中心点的值减小,在此基础上计算各个领域内各个像素值不同权重的和
   格式:cv2.Gaussianblur(img,(n1,n2),0) img表示图片,n1表示x方向卷积核大小,n2表示y
                                       方向卷积核大小,数值可以不同,但都应为正奇数,
                                       0代表内核大小取(n1,n2)
4.双边滤波:综合考虑到空间信息和色彩信息,在滤波过程中能够有效的地保护图像内部地边缘信息,
             高斯模糊后会使边缘模糊
   格式:cv2.bilateralFilter(img,n1,n2,n3)  img表示图片,n1表示过滤时周围每个像素领域的直径,一般指定为0
                                           n2表示在color space中过滤sigma。参数越大,临近像素
                                           将会在越远的地方mix,n3表示在coordinate space
                                           中过滤sigma。参数越大,那些颜色足够相近的的颜色的影响越大
"""

一、均值模糊

"""
1.均值模糊
   格式:cv2.blur(img,(n1,n2))  img表示图片,n1表示x方向卷积核大小,n2表示y方向卷积核大小
""" 
import cv2
# 1.均值模糊
img1 = cv2.imread('clock.png',1)
blur = cv2.blur(img1,(6,6))
cv2.imshow('img',img1)
cv2.imshow('blur',blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

python-图像模糊操作_第1张图片

二、中值模糊

"""
2.中值模糊:取内核区域下所有像素的中值,然后用这个中值替换中心元素
   格式:cv2.medianBlur(img,n1) img表示图片,n1表示卷积核大小,应该是正奇数
""" 
import cv2
# 2.中值模糊
img2 = cv2.imread('clock.png',1)
medianblur = cv2.medianBlur(img2,5)
cv2.imshow('img',img2)
cv2.imshow('medianblur',medianblur)
cv2.waitKey(0)
cv2.destroyAllWindows()

python-图像模糊操作_第2张图片

三、高斯模糊

"""
3.高斯模糊:在进行均值模糊的时候,其领域类的每个像素权重是相等的,高斯模糊中,会将中心点的
          权重值加大,远离中心点的值减小,在此基础上计算各个领域内各个像素值不同权重的和
   格式:cv2.Gaussianblur(img,(n1,n2),0) img表示图片,n1表示x方向卷积核大小,n2表示y
                                       方向卷积核大小,数值可以不同,但都应为正奇数,
                                       0代表内核大小取(n1,n2)
""" 
import cv2
# 3.高斯模糊
img3 = cv2.imread('clock.png',1)
gaussianblur = cv2.GaussianBlur(img3,(5,5),0)
cv2.imshow('img',img3)
cv2.imshow('gaussianblur',gaussianblur)
cv2.waitKey(0)
cv2.destroyAllWindows()

python-图像模糊操作_第3张图片

四、双边滤波

"""
4.双边滤波:综合考虑到空间信息和色彩信息,在滤波过程中能够有效的地保护图像内部地边缘信息,
             高斯模糊后会使边缘模糊
   格式:cv2.bilateralFilter(img,n1,n2,n3)  img表示图片,n1表示过滤时周围每个像素领域的直径,一般指定为0
                                           n2表示在color space中过滤sigma。参数越大,临近像素
                                           将会在越远的地方mix,n3表示在coordinate space
                                           中过滤sigma。参数越大,那些颜色足够相近的的颜色的影响越大
""" 
# 4.双边滤波
img4 = cv2.imread('clock.png',1)
bilateralfilter = cv2.bilateralFilter(img4,0,5,25)
cv2.imshow('img',img4)
cv2.imshow('bilateralfilter',bilateralfilter)
cv2.waitKey(0)
cv2.destroyAllWindows()

python-图像模糊操作_第4张图片

你可能感兴趣的:(python,opencv,python,计算机视觉)