我刚开始在iOS中使用openCV,我想从特定的cv :: Mat中提取ROI(感兴趣的区域)。
这是我目前的代码:
- (UIImage*)test {
UIImage* img = [UIImage imageNamed:@"unnamed"];
cv::Mat mat1;
UIImageToMat(img, mat1);
cv::Rect rect = cv::Rect(175, 219, 130, 50);
cv::Mat mat2 = mat1(rect);
return MatToUIImage(mat2);
}
然而,结果并不像我预期的那样:
结果如下:
我对OpenCV绝对不熟悉,所以我不知道是什么导致了这一点。有人可以帮忙吗?
答案 0 :(得分:1)
我使用下面的代码提取了ROI。但我不确定MatToUIImage(mat2);
是否可行,也许您需要MatToUIImage(mat2.clone());
cv::Mat mat1 = imread("e:/test/rSfOy.jpg");
cv::Rect rect = cv::Rect(310, 420, 330, 110);
cv::Mat mat2 = mat1(rect);
imshow("rect", mat2);