C++ 使用opencv打开本地图片后,截取指定位置后,保存图片
时间: 2023-11-08 11:22:50 浏览: 136
可以使用OpenCV库中的cv::imwrite()函数将截取后的图片保存到本地。以下是一个示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 打开本地图片
Mat img = imread("test.jpg");
if (img.empty())
{
cout << "无法打开图片文件!" << endl;
return -1;
}
// 截取指定位置
Rect roi(100, 100, 200, 200); // 从(100, 100)开始截取200x200的区域
Mat img_roi = img(roi);
// 保存截取后的图片
bool success = imwrite("result.jpg", img_roi);
if (!success)
{
cout << "保存图片文件失败!" << endl;
return -1;
}
cout << "图片文件保存成功!" << endl;
return 0;
}
```
上述代码中,首先使用imread()函数打开本地图片,然后使用Rect类定义截取的区域,接着使用Mat类的运算符()截取指定区域,最后使用imwrite()函数将截取后的图片保存到本地。
阅读全文