如何从opencv中的轮廓中提取简单的几何形式
发布时间:2020-12-15 02:32:19 所属栏目:Java 来源:网络整理
导读:我有一个Mat轮廓,我用approxPolyDP近似每个轮廓. 我现在要做的是检测矩形,三角形,圆形等形状.例如,用不同颜色或使用画布等重绘它们. 有没有办法利用轮廓?如何在Mat轮廓中访问点并进一步简化它们(去除变形或如果两个重要点如此靠近,我可以安全地删除其中一个
我有一个Mat轮廓,我用approxPolyDP近似每个轮廓.
我现在要做的是检测矩形,三角形,圆形等形状.例如,用不同颜色或使用画布等重绘它们. 有没有办法利用轮廓?如何在Mat轮廓中访问点并进一步简化它们(去除变形或如果两个重要点如此靠近,我可以安全地删除其中一个)? 我正在使用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很痛苦. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |