java边缘轮廓提取,OpenCV将Canny边缘转换为轮廓

我有一个OpenCV应用程序来自办公室内部的网络摄像头流(很多细节),我必须找到一个人工标记 . 标记是在白色背景的一个黑角规 . 我使用Canny来查找边缘和cvFindContours进行轮廓加工,然后使用aboutPolyDP和co . 用于过滤和查找候选者,然后使用局部直方图进一步过滤,bla bla bla ...

这或多或少有效,但不完全是我想要的 . FindContours总是返回一个闭环,即使Canny创建一个非闭合线 . 我得到一个轮廓走在线的两侧形成一个环 . 对于Canny图像(我的标记)上的封闭边缘,我得到2个轮廓,一个在内部,另一个在外面 . 我不得不对这个操作有问题:

我为每个标记得到2个轮廓(不是那么严重)

最无关紧要的过滤不可用(拒绝非闭合轮廓)

So my question: is it possible to get non-closed contours for non-closed Canny edges? 或者解决上述2个问题的标准方法是什么?

Canny是一个非常好的工具,但我需要一种方法将2D黑白图像转换为易于处理的东西 . 类似连接组件的东西,列出组件的步行顺序中的所有像素 . 所以我可以过滤循环,并将其提供给approxPolyDP .

更新:我错过了一些重要的细节:标记可以处于任何方向(它不是面向摄像机的正面,没有直角),实际上我正在做的是3D方向估计,基于标记的2D投影 .

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值