您可以尝试通过在该图像上设置ROI ( 感兴趣区域)并将该ROI定义的部分复制到新图像来完成。
您可以在这篇文章中看到使用IplImage
的演示 。
这些帖子显示了使用ROI解决不同情况的方法:
请务必注意,您的代码使用的是OpenCV的C接口 。 C ++接口提供cv::Mat
,与IplImage
等效。换句话说,您正在寻找的是针对该问题的C解决方案 。
0
您可以尝试通过在该图像上设置ROI ( 感兴趣区域)并将该ROI定义的部分复制到新图像来完成。
您可以在这篇文章中看到使用IplImage
的演示 。
这些帖子显示了使用ROI解决不同情况的方法:
请务必注意,您的代码使用的是OpenCV的C接口 。 C ++接口提供cv::Mat
,与IplImage
等效。换句话说,您正在寻找的是针对该问题的C解决方案 。
0
您应该使用cv::Mat
的副本构造函数。它比IplImage
更好:
int x = 10,
y = 20,
width = 200,
height = 200;
Mat img1, img2;
img1 = imread("Lenna.png");
img2 = img1(Rect(x, y, width, height));
0
使用复制构造函数:
cv::Mat whole = ...; // from imread or anything else
cv::Mat part(
whole,
cv::Range( 20, 220 ), // rows
cv::Range( 10, 210 ));// cols
0
我正在使用opencv,并且想从另一个图像的一部分创建图像。
我没有找到执行此操作的功能,所以我尝试实现我的想法,该想法包括逐像素复制图像,但徒劳地没有得到我等待的结果。
任何人都有另一个主意
码: