目录
1 函数原型
2 原理
2.1 一维高斯分布
2 .2 二维高斯分布
3 总结
1 函数原型
def GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None): # real signature unknown; restored from __doc__"""GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]) -> dst. @brief Blurs an image using a Gaussian filter.. . The function convolves the source image with the specified Gaussian kernel. In-place filtering is. supported.. . @param src input image; the image can have any number of channels, which are processed. independently, but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.. @param dst output image of the same size and type as src.. @param ksize Gaussian kernel size. ksize.width and ksize.height can differ but they both must be. positive and odd. Or, they can be zero's and then they are computed from sigma.. @param sigmaX Gaussian kernel standard deviation in X direction.. @param sigmaY Gaussian kernel standard deviation in Y direction; if sigmaY is zero, it is set to be. equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height,. respectively (see #getGaussianKernel for details); to fully control the result regardless of. possible future modifications of all this semantics, it is recommended to specify all of ksize,. sigmaX, and sigmaY.. @param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported.. . @sa sepFilter2D, filter2D, blur, boxFilter, bilateralFilter, medianBlur"""pass
在OpenCV中,cv2.GaussianBlur
函数用于对图像进行高斯模糊,这是一种减少图像噪声和细节的方法,常用于图像处理中的预处理步骤。cv2.GaussianBlur
函数的参数通常包括以下几个:
-
src:输入图像,可以是单通道(灰度图)或多通道(彩色图)的图像。数据类型应该是
uint8
或float32
。 -
ksize:高斯核的大小,(宽度, 高度)。宽度和高度都应该是正数和奇数,或者可以是零,然后从
sigma
计算得出。高斯核越大,图像越模糊。 -
sigmaX:X方向上的高斯核标准差。如果
sigmaY
为零,则与sigmaX
相同;如果两者都是零,则根据核大小自动计算得出。标准差越大,模糊效果越明显。
注意:在OpenCV的Python接口中,第三个参数通常是sigmaX
,但如果你只指定了一个标准差值,它会被同时用于X和Y方向(即sigmaY
会被设置为与sigmaX
相同的值)。然而,并不是所有的OpenCV文档或实现都会明确显示sigmaY
作为单独的参数,有时它会被省略,或者在某些上下文中被隐含地处理。
2 原理
2.1 一维高斯分布
一维高斯分布(也称为正态分布)是统计学中非常重要的一种连续概率分布。它描述了许多自然现象、测量误差以及社会科学中的随机变量。一维高斯分布的概率密度函数(PDF)具有特定的数学形式,这使得它在理论和应用上都非常有用。
一维高斯分布的概率密度函数定义为:
其中:
- x 是随机变量。
- μ 是分布的均值(mean),表示分布的中心位置。
- σ2 是分布的方差(variance),表示分布的宽度或离散程度。
- σ 是标准差(standard deviation),是方差的平方根,即 σ=σ2。
- π 是圆周率。
- e 是自然对数的底数,约等于2.71828。
2 .2 二维高斯分布
二维高斯分布的概率密度函数为:
图像的二维高斯分布函数
中间的图片符合高斯分布,最右边是归一化处理,相加起来约等于1
3 总结
(1) 高斯模糊是使用高斯核(符合高斯分布的)与原图进行卷积
(2) cv2.GaussianBlur()函数需要设置 高斯核的大小,(宽度, 高度),还有公式中的σ
(3) σ越大,高斯分布曲线就会越扁,图像卷积出来周围的比重占比就会越大,图像就会越模糊