4

私はこのコードを持っています:

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 エラー: アサーションに失敗しました (type == type0 || (CV_MAT_CN(type) == CV_MAT_CN(type0) && ((1 << type0) & fixedDepthMask) != 0)) 作成、ファイル /Users/robin/Projects/ OpenCVForiPhone/opencv/opencv/modules/core/src/matrix.cpp、行 1249 が呼び出され、例外をスローして終了します

cvtColor 呼び出しのため、私のマットは既に 1 チャンネルのグレースケールになっていると思います...

どうすればこれを修正できますか?

4

1 に答える 1

10

それ以外の:

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

やってみました?

std::vector<std::vector<cv::Point> > contours;
于 2012-11-09T18:25:51.170 に答える