我正在尝试在iPhone中使用Opencv获取子图像。这段代码是什么问题?
来自控制台的错误是:OpenCV错误:cvGetMat文件/Users/macmade/Desktop/OpenCV-iPhone/OpenCV/build/iPhoneSimulator/../../中的错误标志(参数或结构字段)(无法识别或不受支持的数组类型) ./tmp/OpenCV-2.0.0/src/cxcore/cxarray.cpp,第2470行
抛出'cv::Exception'实例后终止调用
std::vector<IplImage*> vec_images;
int h = bw->height;
for (int i=0; i<Xleft.size(); ++i) {
CvRect rect = cvRect(Xleft[i], 0, avgx, h);
/* dst image */
IplImage* subimg;
/* copy ROI to subimg */
cvSetImageROI(bw, rect);
cvCopy(bw, subimg, NULL);
vec_images.push_back(subimg);
cvResetImageROI(bw);
}
for (int i=0; vec_images.size(); ++i) {
cvReleaseImage(&vec_images[i]);
}
最佳答案
您必须在调用subimg
之前初始化cvCopy
。
https://stackoverflow.com/questions/5475593/