使用opencv 2.3。我有一个由一个矩形限定的区域,我想要提取并制作一个深层副本,这样当图像被破坏时,这个矩形区域可以继续存在。我正在使用它作为视频序列匹配的模板。你怎么能这样做?
答案 0 :(得分:11)
引用OpenCV 2.3 online documentation使用此构造函数创建cv :: Mat的矩形感兴趣区域:
// select a ROI
Mat roi(img, Rect(10,10,100,100));
然后进行深层复制:
Mat deepRoiExplorer=roi.clone();
答案 1 :(得分:4)
您可以使用Mat::clone()
将ROI复制到新图片,也可以自己创建目标图片并使用Mat::copyTo()
:
Mat source...; // your source image
Rect sourceRect(...); // your ROI
// using clone
Mat target = source(sourceRect).clone();
// using copyTo
Mat target(sourceRect.size(), source.type());
source(sourceRect).copyTo(target);