cv2.GaussianBlur()方法参数说明
时间: 2023-12-30 19:16:32 浏览: 32
cv2.GaussianBlur()方法是OpenCV中用于对图像进行高斯模糊处理的函数。该函数有以下参数:
- src:输入图像,可以是单通道或多通道图像,数据类型为uint8或float32。
- ksize:高斯核大小,必须是正的奇数。可以通过设置为0来自动计算核大小,计算公式为ksize = 2 * int(3 * sigma) + 1。
- sigmaX:X方向上的高斯核标准差。
- sigmaY:Y方向上的高斯核标准差。如果sigmaY为0,则默认与sigmaX相同。
函数返回模糊处理后的图像。
相关问题
cv2.GaussianBlur
cv2.GaussianBlur() 是 OpenCV 中的高斯滤波函数,可以用来平滑图像,去除噪声。
函数原型为:
```python
cv2.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]) -> dst
```
参数说明:
- `src`:输入的图像,可以是单通道或多通道图像。
- `ksize`:高斯内核大小,必须为正奇数。
- `sigmaX`:高斯函数在 X 方向上的标准偏差。
- `dst`:输出的图像,与输入图像大小、类型相同。
- `sigmaY`:高斯函数在 Y 方向上的标准偏差,如果为 0,则默认与 sigmaX 相同。
- `borderType`:边缘填充方式,可以取以下值之一:
- `cv2.BORDER_CONSTANT`:常数填充。
- `cv2.BORDER_REPLICATE`:复制边缘像素。
- `cv2.BORDER_REFLECT`:对称边缘像素。
- `cv2.BORDER_REFLECT_101`:对称边缘像素,但不包括边缘像素本身。
- `cv2.BORDER_WRAP`:环绕边缘像素。
示例代码:
```python
import cv2
img = cv2.imread('lena.jpg')
blur = cv2.GaussianBlur(img, (5, 5), 0)
cv2.imshow('Gaussian Blur', blur)
cv2.waitKey(0)
```
上述代码将读取一张名为 'lena.jpg' 的图像,然后对其进行高斯滤波,内核大小为 5x5,sigmaX 为 0,最后显示滤波后的图像。
opencvsharp Cv2.GaussianBlur
OpenCvSharp是一个基于OpenCV的C#封装库,提供了对OpenCV功能的访问和使用。Cv2.GaussianBlur是OpenCvSharp中的一个函数,用于对图像进行高斯模糊处理。
高斯模糊是一种常用的图像处理方法,它通过对图像中的每个像素点周围的像素进行加权平均来实现。这种加权平均的权重是根据高斯函数计算得到的,距离中心像素点越远的像素点权重越小。
Cv2.GaussianBlur函数的语法如下:
```csharp
public static void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY = 0, BorderType borderType = BorderType.Default);
```
参数说明:
- src:输入图像,可以是单通道或多通道图像。
- dst:输出图像,与输入图像具有相同的尺寸和类型。
- ksize:高斯核的大小,指定高斯核的宽度和高度。必须是正奇数。
- sigmaX:X方向上的高斯核标准差。
- sigmaY:Y方向上的高斯核标准差,默认为0,表示与sigmaX相同。
- borderType:边界处理方式,默认为BorderType.Default。
函数调用示例:
```csharp
using OpenCvSharp;
Mat srcImage = new Mat("input.jpg", ImreadModes.Color);
Mat dstImage = new Mat();
Cv2.GaussianBlur(srcImage, dstImage, new Size(5, 5), 0, 0);
Cv2.ImShow("Gaussian Blur", dstImage);
v2.WaitKey(0);
```