0
我想有一个函数返回类似指针数组的指针,即指向CvSeq数组的第一个元素的指针。但是,我不知道是否可以创建一个CvSeq数组。返回指针数组(CvSeq指针)
这样做的目的是获得不同图像轮廓的CvSeq值。
这里是我的代码:
CvSeq* get_template_contours(string templ[], int SIZE){
IplImage *templ_img;
CvSeq *contour = NULL;
CvSeq *contourPoly = new CvSeq[SIZE];
CvMemStorage* storage = cvCreateMemStorage(0);
for(int i = 0; i < SIZE; i++){
templ_img = cvLoadImage(templ[i].c_str(), 0);
cvFindContours(templ_img, storage, &contour, sizeof(CvContour),
CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE, cvPoint(0, 0));
contourPoly[i]=cvApproxPoly(contour, sizeof(CvContour), storage,CV_POLY_APPROX_DP,1,1);
}
cvReleaseImage(&templ_img);
cvClearMemStorage(storage);
cvClearSeq(contour);
return contourPoly;
}
但我得到这个错误
error: no match for ‘operator=’ in ‘*(contourPoly + ((long unsigned int)(((long unsigned int)i) * 96ul))) = cvApproxPoly(((const void*)contour), 128, storage, 0, 1.0e+0, 1)’
/usr/local/include/opencv2/core/types_c.h:1316:1:注:候选人是:CvSeq & CvSeq ::运算符=(const的CvSeq &)
在此先感谢
感谢您的意见。对此,我真的非常感激。 – locorecto 2012-03-11 21:00:49