加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何从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很痛苦.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读