2011-03-29 75 views
0

我想在iphone中使用Opencv获取子图像。这段代码中的问题是什么? 错误从控制台是:OpenCV错误:坏标志(参数或结构字段)(无法识别或不支持的数组类型)在cvGetMat,文件/用户/macmade/Desktop/OpenCV-iPhone/OpenCV/build/iPhoneSimulator/../ .. /./tmp/OpenCV-2.0.0/src/cxcore/cxarray.cpp,线路2470 抛出 'CV ::例外'opencv在iphone中获取子图像

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]); 
} 

回答

1

您必须在调用cvCopy前初始化subimg的一个实例后终止调用。

+0

仍然崩溃... – space 2011-03-29 17:21:33

+0

@space你能否更新你的代码,看看你是如何初始化subimg?我只看到subimg被宣布。 – 2011-03-29 18:16:46