OpenCV findContours崩溃

时间:2012-05-30 19:37:13

标签: ios opencv

我有这段代码:

mat.copyTo(tmpMat);
cvtColor(tmpMat, tmpMat, CV_BGR2GRAY);
cv::equalizeHist(tmpMat, tmpMat);
    cv::Mat browMat = tmpMat(eyebrowRect);
    std::vector<std::vector<Point> > contours;
    cv::findContours(browMat, contours, cv::RETR_LIST, cv::CHAIN_APPROX_NONE);

但它崩溃了这个错误:

  

OpenCV错误:断言失败(类型== type0 ||(CV_MAT_CN(type)== CV_MAT_CN(type0)&amp;&amp;((1&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&nbsp;)&amp; fixedDepthMask)!= 0))in create ,file /Users/robin/Projects/OpenCVForiPhone/opencv/opencv/modules/core/src/matrix.cpp,line 1249   终止调用抛出异常

由于cvtColor调用,我认为我的Mat已经处于单通道灰阶......

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:10)

而不是:

std::vector<std::vector<Point> > contours;
你尝试过吗?

std::vector<std::vector<cv::Point> > contours;