选取原图像中的一块感兴趣区域,然后将子图像拷贝过去。
时间: 2024-04-08 16:33:45 浏览: 23
如果你想从原图像中选取一个感兴趣区域,并将其拷贝到另一个图像中,可以使用OpenCV中的`Rect`函数和`copyTo`函数。下面是一个示例代码:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
// 读取原图像
Mat srcImage = imread("path/to/source/image.jpg");
// 定义感兴趣区域位置和大小
Rect roiRect(100, 100, 200, 200); // (x, y, width, height)
// 创建感兴趣区域ROI
Mat roiImage = srcImage(roiRect).clone();
// 创建目标图像
Mat dstImage = Mat::zeros(srcImage.size(), srcImage.type());
// 将感兴趣区域复制到目标图像中
roiImage.copyTo(dstImage(roiRect));
// 显示原图像和目标图像
namedWindow("Source Image", WINDOW_NORMAL);
namedWindow("Destination Image", WINDOW_NORMAL);
imshow("Source Image", srcImage);
imshow("Destination Image", dstImage);
waitKey(0);
return 0;
}
```
在这个示例中,我们首先加载原图像,然后使用`Rect`定义了一个感兴趣区域的位置和大小。接下来,我们使用感兴趣区域来创建一个ROI副本(使用`clone`函数),然后创建一个与原图像大小相同的目标图像。最后,我们使用`copyTo`函数将感兴趣区域的内容复制到目标图像中的相应位置。最后,我们显示原图像和目标图像,并等待按下任意键退出程序。
请将代码中的"path/to/source/image.jpg"替换为你自己的原图像路径。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)