18.方盒滤波与均值滤波

 图像卷积API

filter2D(src, ddepth, kernel, anchor, delter, borderType)

参数含义:

src 滤波对象

ddepth 滤波后的图像位深,一般设为-1,跟原图像保持一致

kernel 卷积核(低通滤波,高通滤波)

anchor 锚点,可以不设

delter 默认为0

borderType 边界类型,一般情况为默认值

例如一个5*5的卷积核,作用使图像变平滑

方盒滤波

方盒滤波卷积核

参数a的作用:

normalize = true, a = 1/W * H 此时为均值滤波

normalize = false, a=1 此时不进行均值化,输出的结果为25个元素之和

normalize = true时,方盒滤波 ==平均滤波,一般情况下都使用均值滤波,所以在使用时直接调用均值滤波API

方盒滤波API

boxFilter(src, ddepth, ksize, anchor, normalize, borderType)

参数含义:

ddepth        输出图像的位深

ksize        卷积核的大小

anchor        锚点,一般取卷积核的中心点,默认值即可

normalize        方盒滤波

均值滤波API

blur(src, ksize,anchor,borderType)

一般情况下方盒滤波和均值滤波相等,默认情况下normalize = true,一般使用blur()进行滤波

import cv2
import numpy as np

img = cv2.imread('E:\\112.png')

# kernel = np.ones((5,5), np.float32)/25
# dst = cv2.filter2D(img, -1 , kernel )

dst = cv2.blur(img,(5,5))

cv2.imshow('dst', dst)
cv2.imshow('img',img)
cv2.waitKey(0)

效果与上一节结果一样。

高斯滤波(钟形滤波)

 

原理:

对于卷积核,中心点的值不一定最大,但是其比重是最大的,两边的值可能比较大,但是其比重较小。越靠近卷积核中心,比重越大

高斯权重

 高斯滤波API

GaussianBlur(img,kernel,sigmaX,sigmaY, ...)

kernel        卷积核的大小

sigmaX,sigmaY       高斯滤波延展的宽度, X和Y到中心点的误差

sigma的作用

 没有sigma时,以kernel卷积核的size为基准进行滤波

import cv2
import numpy as np

img = cv2.imread('E:\\112.png')

# kernel = np.ones((5,5), np.float32)/25
# dst = cv2.filter2D(img, -1 , kernel )

# dst = cv2.blur(img,(5,5))
dst = cv2.GaussianBlur(img, (5,5),sigmaX=1)

cv2.imshow('dst', dst)
cv2.imshow('img',img)
cv2.waitKey(0)

经过高斯滤波后,可以处理高斯噪点

中值滤波

什么是中值滤波?

假设有一个数组[1 5 5 6 7 8 9],取其中的中间值作为卷积后的结果值

中值滤波的优点:对椒盐噪声滤波效果明显

 中值滤波API

medianBlur(img, ksize)

ksize        卷积核的大小

import cv2
import numpy as np

img = cv2.imread('E:\\112.png')

# kernel = np.ones((5,5), np.float32)/25
# dst = cv2.filter2D(img, -1 , kernel )

#均值滤波
# dst = cv2.blur(img,(5,5))  

#高斯滤波
#dst = cv2.GaussianBlur(img, (5,5),sigmaX=1)

#中值滤波
dst = cv2.medianBlur(img,5)

cv2.imshow('dst', dst)
cv2.imshow('img',img)
cv2.waitKey(0)

边缘也会被弱化

双边滤波

可以保留边缘,同时可以对边缘内的区域进行平滑处理

双边滤波的作用是进行美颜

双边滤波的原理

 边缘不进行处理,其他地方进行抹平

双边滤波API

bilaterlFilter(img, d, sigmaColor, sigmaSpace, ...)

d        核的大小

sigmaColor, sigmaSpace        一般设为20,50,经验

猜你喜欢

转载自blog.csdn.net/qq_45355603/article/details/125259693