【发布时间】:2012-06-05 02:09:01
【问题描述】:
我有这个代码:
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
由于 cvtColor 调用,我认为我的 Mat 已经处于 1 通道灰度...
我该如何解决这个问题?
【问题讨论】:
-
您希望 cvtColor 如何就地工作以将图像从 3 通道转换为 1 通道?
-
我也在使用 cv::adaptiveThreshold 来转换为 1 通道图像,我想...如果我错了,请告诉我如何从我的垫子中获得 1 通道图像
-
@Progeny 如果它解决了您的问题,您应该接受答案