cv::mat使用
时间: 2023-06-21 18:24:25 浏览: 97
`cv::Mat` 是 OpenCV 中用来表示图像的类,类似于 C++ 中的矩阵。使用 `cv::Mat` 类可以方便地对图像进行处理和操作,例如读取、显示、裁剪、缩放、旋转、滤波等。
下面是使用 `cv::Mat` 类读取一张图像并显示的示例代码:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 读取图像
Mat img = imread("test.jpg");
if (img.empty())
{
printf("无法读取图像文件\n");
return -1;
}
// 显示图像
namedWindow("Image", WINDOW_AUTOSIZE);
imshow("Image", img);
waitKey(0);
return 0;
}
```
在这个示例中,首先通过 `imread` 函数读取了一张名为 `test.jpg` 的图像,并将其存储在 `cv::Mat` 类型的变量 `img` 中。如果读取失败,则会输出一条错误信息。然后,通过 `namedWindow` 函数创建了一个名为 `Image` 的窗口,并使用 `imshow` 函数将 `img` 显示在这个窗口中。最后,通过 `waitKey` 函数等待用户按下一个按键,然后退出程序。
除了读取和显示图像之外,`cv::Mat` 类还可以进行许多其他操作,例如裁剪、缩放、旋转、滤波等。可以参考 OpenCV 官方文档中的相关章节了解更多信息。
阅读全文