GaussianBlur
函数功能
GaussianBlur函数用于对图像进行高斯模糊,主要用于平滑图像、去除噪声和细节。通过应用高斯滤波,图像中的边缘和细节会被柔化,适合在边缘检测和图像预处理等场景中使用。
函数接口
1 | cv2.GaussianBlur(src, ksize, sigmaX, sigmaY=0, borderType=cv2.BORDER_DEFAULT)  | 
参数
参数名  | 
描述  | 
取值范围  | 
输入/输出  | 
|---|---|---|---|
src  | 
输入图像。  | 
非空  | 
输入  | 
ksize  | 
高斯核的大小,必须是正奇数,如(3, 3)或(5, 5)。  | 
(width, height),其中width和height均为大于1的奇数  | 
输入  | 
sigmaX  | 
X方向的高斯标准差,控制模糊程度。  | 
(0, inf)  | 
输入  | 
sigmaY  | 
Y方向的高斯标准差,默认为0(自动计算与sigmaX相同)。  | 
(0, inf)  | 
输入  | 
borderType  | 
边界模式,默认为cv2.BORDER_DEFAULT,用于处理边界像素。  | 
cv2.BORDER_DEFAULT、cv2.BORDER_REPLICATE、cv2.BORDER_REFLECT、cv2.BORDER_REFLECT_101、cv2.BORDER_WRAP、cv2.BORDER_CONSTANT等  | 
输入  | 
返回值
- 成功:返回KP_CV_SUCCESS;。
 - 失败:返回错误码。
 
错误码
错误码  | 
描述  | 
|---|---|
INVALID_PARAM_MSG  | 
参数“src”存在空指针。  | 
NOT_SUPPORT_MSG  | 
不是“borderType”支持的模式,ksize尺寸不对,src不是unit8图像。  | 
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  | import numpy as np import cv2 # 创建一个5x5的简单图像 src = np.array([[0, 0, 0, 0, 0], [0, 1, 1, 1, 0], [0, 1, 0, 1, 0], [0, 1, 1, 1, 0], [0, 0, 0, 0, 0]], dtype=np.uint8) # 定义高斯模糊核的大小 ksize = (3, 3) # 定义高斯模糊核的标准差 sigmaX = 1 sigmaY = 1 dst = cv2.GaussianBlur(src, ksize, sigmaX, sigmaY, borderType=cv2.BORDER_DEFAULT) print(dst)  | 
运行结果:
1 2 3 4 5  | [[0 0 1 0 0] [0 0 1 0 0] [1 1 1 1 1] [0 0 1 0 0] [0 0 1 0 0]]  | 
父主题: 接口定义