我有一个Mat contours
我已经近似了每个contour
with approxPolyDP
。
我现在想做的是检测矩形、三角形、圆形等形状。以及例如用不同的颜色或使用画布等重新绘制它们。
有没有办法利用轮廓?我如何访问点Mat contours
并进一步简化它们(消除变形或者如果两个重要点非常接近,我可以安全地删除其中一个)?
我正在使用 Java (Android) 进行开发,因此并非所有 C/C++ 方法/类型都可供我使用(否则 JNI 调用将是一种浪费)。
轮廓以向量 > 轮廓的形式返回。您可以通过执行以下操作轻松地在 C++ 中访问它们:
vector<vector<Point> > contours;
findContours(..,contours,...);
contours.at(0).at(0) //first point of first contour
如果您使用 Mat 访问它们,那么您将需要测试生成的排列。不过,这应该很容易,尽管话虽如此,JNI 和 android opencv 很痛苦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)