fdh*_*fdh 14 c c++ opencv image
我有两个图像,第一个比另一个小.我需要在第一张图片上复制第二张图片.为此,我需要在第一个上设置ROI,将第二个图像复制到第一个上,然后重置ROI.
但是我使用的是C++接口,所以我不知道如何做到这一点.在CI中可以使用cvSetImageROI,但这不适用于C++接口.
那么基本上CvSetImageROI的C++替代品是什么?
//output is a pointer to the mat whom I want the second image (colourMiniBinMask) copied upon
Rect ROI (478, 359, 160, 120);
Mat imageROI (*output, ROI);
colourMiniBinMask.copyTo (imageROI);
imshow ("Gravity", *output);
Run Code Online (Sandbox Code Playgroud)
Sho*_*ath 18
我觉得你错了.如果第一个小于另一个并且您想要复制第一个图像,则不需要ROI.您可以调整第二个图像的大小,将其复制到第一个图像中.
但是,如果你想复制第二个中的第一个,我认为这段代码应该有效:
cv::Rect roi = cv::Rect((img2.cols - img1.cols)/2,(img2.rows - img1.rows)/2,img1.cols,img1.rows);
cv::Mat roiImg;
roiImg = img2(roi);
img1.copyTo(roiImg);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57390 次 |
| 最近记录: |