[问题] Open CV取面积

楼主: s20394 (HAPPY123)   2015-04-09 19:26:28
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
OpenCV
问题(Question):
我要计算一块黑色区域的面积(已经二值化过),但是我跑到最后一段的时候却会发生错误
,请各位高手帮忙看看哪里错误,感谢
程式码(Code):(请善用置底文网页, 记得排版)
using namespace cv;
using namespace std;
double area;
Mat image=imread("binary1.Jpg",0);
vector<vector <cv::Point>> contours;
findContours(image,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
Mat result(image.size(),CV_8U,Scalar(255));
drawContours(result,contours,-1,Scalar(0),2);
imshow("resultImage",result);
area=contourArea(contours);
作者: nctucch17170 (kkadam)   2015-04-09 20:10:00
不知道是哪行出问题吗? 不是可以测试?
楼主: s20394 (HAPPY123)   2015-04-09 20:14:00
有跑过了,最后area=那段会错误
作者: nctucch17170 (kkadam)   2015-04-09 21:27:00
contourArea传入的东西不对应该要传入 vector<Point>contours一个row 就可以算一个contour的面积了
作者: xk4771127 (阿焦)   2015-04-09 21:37:00
Contourarea(contour.at(i));
楼主: s20394 (HAPPY123)   2015-04-13 16:05:00
感谢大家,已经解决了

Links booklink

Contact Us: admin [ a t ] ucptt.com