java 提取轮廓,如何提取来自OpenCV的轮廓,简单的几何形状

I have a Mat contours and I have approximated each contour with approxPolyDP.

What I want to do now is detecting forms like rectangle, triangle, circle. And e.g. redraw them in a different color or using canvas etc.

Is there a way of making use of the contours? How can I access points in Mat contours and simplify them a little further (removing deformations or if two significant points are so close together, that I can safely remove one of them)?

I am developing in Java (Android), so not every C/C++ method/type is available to me (or a JNI-call would be a waste).

解决方案

The contours are returned as vector > contours. You can access them easily in C++ by doing something like:

vector > contours;

findContours(..,contours,...);

contours.at(0).at(0) //first point of first contour

If you are accessing them using a Mat then you will need to test what arrangement is produced. It should be very easy, though, although having said that, JNI and android opencv is a pain.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值