opencv GaussianBlur
时间: 2024-04-20 11:20:50 浏览: 101
OpenCVSharpDemo - Detect.zip
C++中的OpenCV库提供了GaussianBlur函数,用于对图像进行高斯模糊处理。高斯模糊是一种常用的图像处理方法,可以有效地去除图像中的噪声和细节,使图像变得更加平滑。
GaussianBlur函数的原型如下:
```cpp
void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY = 0, int borderType = BORDER_DEFAULT);
```
参数说明:
- src:输入图像,可以是单通道或多通道图像,类型为CV_8U、CV_16U、CV_32F或CV_64F。
- dst:输出图像,与输入图像具有相同的尺寸和类型。
- ksize:高斯核的大小,可以通过指定一个正的奇数值来表示核的宽度和高度。例如,Size(3, 3)表示一个3x3的核。
- sigmaX:X方向上的高斯核标准差。
- sigmaY:Y方向上的高斯核标准差。如果sigmaY为0,则默认与sigmaX相同。
- borderType:边界模式,默认为BORDER_DEFAULT。
下面是一个示例代码,演示如何使用GaussianBlur函数对图像进行高斯模糊处理:
```cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 读取图像
Mat image = imread("image.jpg");
// 检查图像是否成功读取
if (image.empty())
{
std::cout << "Failed to read image!" << std::endl;
return -1;
}
// 高斯模糊处理
Mat blurredImage;
GaussianBlur(image, blurredImage, Size(5, 5), 0, 0);
// 显示原始图像和模糊后的图像
imshow("Original Image", image);
imshow("Blurred Image", blurredImage);
waitKey(0);
return 0;
}
```
这段代码首先使用imread函数读取一张图像,然后使用GaussianBlur函数对图像进行高斯模糊处理,并将结果显示出来。
希望对你有所帮助!如果你还有其他问题,请继续提问。
阅读全文