Image processing findContours错误';仅支持8uC1图像';
正在尝试在二进制图像上运行FindOnTours“ 有什么想法吗? 感谢: C++:void Mat::convertTo(输出数组m,int-rtype,double-alpha=1,double-beta=0)常量Image processing findContours错误';仅支持8uC1图像';,image-processing,opencv,Image Processing,Opencv,正在尝试在二进制图像上运行FindOnTours“ 有什么想法吗? 感谢: C++:void Mat::convertTo(输出数组m,int-rtype,double-alpha=1,double-beta=0)常量 参数: rtype–所需的输出矩阵类型,或者更确切地说,是自 通道与输入相同;如果rtype为负,则输出矩阵的类型与输入相同 您可以看到,convertTo不会改变通道的数量,这意味着您很可能会得到3个通道(r、g和b)。但是findContours需要单色图像 您需要将图像转换
参数: rtype–所需的输出矩阵类型,或者更确切地说,是自 通道与输入相同;如果rtype为负,则输出矩阵的类型与输入相同 您可以看到,
convertTo
不会改变通道的数量,这意味着您很可能会得到3个通道(r、g和b)。但是findContours
需要单色图像
您需要将图像转换为黑白:
cv::Mat bwImage;
cv::cvtColor(image, bwImage, CV_RGB2GRAY);
vector< vector<cv::Point> > contours;
cv::findContours(bwImage, contours, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);
cv::Mat bwImage;
cv::CVT颜色(图像、bwImage、cv_RGB2GRAY);
矢量<矢量>等高线;
cv::findContours(bwImage、等高线、cv_RETR_列表、cv_CHAIN_近似_SIMPLE);
有没有办法把它还原成单色?我已经有了一张黑白图像,用canny从另一张图像中过滤出来program@0xSina:是的,刚刚添加:)
OpenCV Error: Unsupported format or combination of formats ([Start]FindContours support only 8uC1 images) in cvStartFindContours,
cv::Mat bwImage;
cv::cvtColor(image, bwImage, CV_RGB2GRAY);
vector< vector<cv::Point> > contours;
cv::findContours(bwImage, contours, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);