c++, opencv 裁剪
时间: 2023-07-07 07:37:48 浏览: 85
您好!针对您的问题,可以使用OpenCV中的`cv::Rect`或者`cv::Range`来实现裁剪操作。具体步骤如下:
1. 定义要裁剪的区域,可以使用`cv::Rect`来定义矩形区域,也可以使用`cv::Range`来定义行或列的范围;
2. 使用`cv::Mat::operator()`运算符进行裁剪。
下面是一个简单的C++代码示例:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 加载原图
Mat src = imread("test.jpg");
if (src.empty()) {
cerr << "Failed to load image" << endl;
return -1;
}
// 定义要裁剪的区域
Rect roi(100, 100, 200, 200); // 左上角坐标为(100, 100),宽度为200,高度为200
// 进行裁剪
Mat dst = src(roi);
// 显示结果
imshow("src", src);
imshow("dst", dst);
waitKey();
return 0;
}
```
您可以根据具体需求修改代码中的参数,例如定义不同的裁剪区域、使用`cv::Range`来进行裁剪等。
阅读全文