2
我正在尝试使用cvFindContours,它绝对看起来像是要走的路。我遇到了一个最大的问题。有一个函数调用cvContourArea,它假设以序列的形式获取轮廓的区域。我遇到了麻烦。openCV cvContourArea
int conNum = cvFindContours(outerbox, storage, &contours, sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_NONE,cvPoint(0, 0));
CvSeq* current_contour = contours;
double largestArea = 0;
CvSeq* largest_contour = NULL;
while (current_contour != NULL){
double area = fabs(cvContourArea(&storage,CV_WHOLE_SEQ, false));
if(area > largestArea){
largestArea = area;
largest_contour = current_contour;
}
current_contour = current_contour->h_next;
}
我试图与轮廓更换存储(在cvContourArea),但同样的错误不断想出无论是什么:
OpenCV Error: Bad argument (Input array is not a valid matrix) in cvPointSeqFromMat, file /Volumes/ramdisk/opencv/OpenCV-2.2.0/modules/imgproc/src/utils.cpp, line 53
我一派,几乎找不到例子cvContourArea这3个参数的。 。就好像它最近改变了一样..我想通过找到的轮廓循环找到最大的一个,然后使用cvDrawContours方法绘制它。谢谢!