尝试在xcode中使用OpenCV来检测图像的某些椭圆:
CvMemStorage *storage2 = cvCreateMemStorage(0);
CvSeq *contours = cvCreateSeq(0, sizeof(CvSeq), sizeof(CvPoint), storage2);
IplImage *th = cvCreateImage(imgSize, 8, 1);
cvThreshold(mask, th, 0.1, 255, CV_THRESH_BINARY_INV );
cvFindContours(th, storage2, &contours, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_NONE, cvPoint(0, 0));
cvDrawContours(th, contours, CV_RGB(0,255,0), CV_RGB(0,0,255),
2, 3, 8, cvPoint(0, 0));
cv::Vector<cv::RotatedRect> minRect(contours->total);
cv::Vector<cv::RotatedRect> minEllipse(contours->total);
for( int i = 0; i < contours->total ; i++ )
{
minRect[i] = cvMinAreaRect2(&contours[i]);
}
我正在使用OpenCV文档中提供的示例。
当我尝试运行此代码时,出现错误:
error: (-5) Input array is not a valid matrix in function cvPointSeqFromMat
对于该行:
minRect[i] = cvMinAreaRect2(&contours[i]);
我对opencv很新,会感激任何帮助!!
由于
答案 0 :(得分:0)
结果我需要调用h_next作为轮廓的下一个指针!!