opencv - OpenCV || matchShapes findContours断言失败

标签 opencv pattern-matching shapes contour

我试图用matchShapes方法匹配两个轮廓,但是我总是断言失败。
我知道这一定与错误的Mat格式有关,但我似乎无法解决。

findContours运行得很好:

vector<vector<cv::Point> > contours;
cv::findContours(incomingimage,
                 contours, 
                 CV_RETR_EXTERNAL, 
                 CV_CHAIN_APPROX_SIMPLE);

vector<vector<cv::Point> > contourstwo;
cv::findContours(incomingimagetwo,
                 contourstwo, 
                 CV_RETR_EXTERNAL, 
                 CV_CHAIN_APPROX_SIMPLE);

我从这些方法中得到了很好的输出,但是
matchShapes(Mat(contours), Mat(contourstwo), CV_CONTOURS_MATCH_I3, 0);

退货

OpenCV错误:断言失败

我在这里有点黑暗。
任何帮助将不胜感激。

非常感谢你。

最佳答案

我也是openCV的初学者,但我现在想出了解决方法
(经过多次反复试验)。
请试试这个

matchShapes(contours[0], contourstwo[0], CV_CONTOURS_MATCH_I3, 0);

关于opencv - OpenCV || matchShapes findContours断言失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9368418/

相关文章:

c++ - 直接减去两个 vector<point2f>

java - MySQL 重复事件

mysql - 在 bash 中打印结构化 SQL SELECT 的简单方法

c++ - 使用 DFT 进行卷积

c++ - 使用外部库的 OpenCV C++ 应用程序部署

java - 检查字符串与模式匹配的条件

Android:绘制带有斜角的形状

java - Java中的形状组合?

opencv - 如何使用opencv在控制点上绘制曲线

Bash:多重模式匹配