【问题标题】:Opencv transparent object detectionOpencv透明物体检测
【发布时间】:2015-05-29 10:57:39
【问题描述】:

在过去的 4 天里,我试图从实时视频源中检测各种形状和尺寸的透明玻璃板......由于我无法使用颜色跟踪来检测透明度,通过网络搜索我了解了大轮廓检测,匹配形状,匹配模板...但我的尝试未能得到我的结果...我的朋友告诉使用 Haar 级联来做到这一点..,我需要知道的是,

  1. 有更好的方法来检测透明物体而不是做轮廓...

  2. 我是否遗漏了一些非常基本的东西...

  3. haar cascade 会是获得结果的更好候选者吗...

P.S:我正在使用 MS Visual Studio 和 c++ 进行编码...而且我使用 opencv 库只有 5 天...您的帮助对我来说意义重大..

【问题讨论】:

  • 如果您是第一次使用 opencv,我建议您先从简单的事情开始,例如检测鸟类或在狗和猫之间进行选择。最好从 cvpapers.com 中选择一篇研究论文并实施。

标签: c++ opencv pattern-matching transparent object-detection


【解决方案1】:

您可以尝试使用this answer 中提到的方法(或直接阅读this article)。它是为检测玻璃而设计的,但我认为它适用于大多数透明物体,或者至少会给你一个很好的起点。

【讨论】:

    【解决方案2】:

    Haar Cascade Training 是一种机器学习方法,用于训练一些数据并稍后发送关于您想说“是”或“否”的查询。 (它对更多的东西很有用,但这是你要找的东西)。

    嗯,当我学习机器学习时,我的老师说过这样的话:

    当您无法以编程方式实现机器学习,或者代码效率低下或非常长,从而逃避了您可以从条件中“获得”的变量数量时,机器学习被用作方法。

    分析你的问题,我想说如果你不控制光线条件、板或眼镜可能存在的表面等等,这将非常困难,所以我猜这变成了机器学习问题。

    是的,我的答案是:

    1. 试着训练一个杯子来解决你的问题
    2. 取 3 - 5 个不同形状的玻璃杯,但它们之间差别不大。例如:
    3. 使用网络摄像头从那个角度拍照,只需稍微旋转一下相机即可“捕捉”眼镜之间的畸形。
    4. 添加不同的条件(光线、阳光、不同的表面、不同的背景等)。
    5. 当你有足够的图片(例如 2000 张?)时,按照 Internet 上的任何教程训练它们,例如这个:http://note.sonots.com/SciSoftware/haartraining.html

    好吧,如果可行,也可以使用盘子!

    祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 2012-12-30
      相关资源
      最近更新 更多