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方法繪製它。謝謝!