【问题标题】:Need Haar Casscades for coins (especially euro ones)需要 Haar Cascades 硬币(尤其是欧元硬币)
【发布时间】:2016-05-04 05:17:17
【问题描述】:

我需要 haar 级联分类器来检测硬币,特别是欧元,如果它们存在的话。几天来,我一直在尝试生成自己的结果,结果总是很糟糕。或者,你知道一个好的教程吗? 谢谢

【问题讨论】:

标签: opencv haar-classifier cascade-classifier


【解决方案1】:

您可能不会找到许多为硬币甚至是专门为欧元预先制作的级联。我建议自己训练。

至于教程,我在创建 LBP 级联时使用了 opencv 3.0 traincascade 教程,但它也可以生成 HAAR。我还使用了mergevec 来夸大我的阳性数。

基本上我做我的时候是这样的:

我使用opencv_createsamples(在opencv 安装中)和mergevec 生成了正向量。我基本上只是从小批量的单个正图像和所有负图像中创建了我所有的向量,这让我可以处理一些正图像。然后,我使用mergevec 并将这些向量合并在一起,得到一个opencv_traincascade 可以使用的向量文件。

然后,我使用来自mergevec 的新正向量和我拥有的负向量运行opencv_traincascade。我想我最终得到了大约 7000 个负片和大约 13000 个正片,这可能有点矫枉过正,但我​​得到了一个非常好的级联。尽量保持宽度和高度低于 100x100 左右,否则需要整整一周的时间来训练。

【讨论】:

  • 衷心感谢您的友好回复。我希望更多像你一样温柔的人会努力回答,即使有些问题对他们来说听起来很傻。无论如何,我几天来一直在学习和关注这个 (memememememememe.me/training-haar-cascades) 教程,它准确地解释了你写的东西。第一次试用真的很令人失望。现在我的 mac 再次训练了 8 个多小时;有 1100 个正片和 1700 个负片。我在谷歌图片上找不到这么多欧元图片,也不知道在哪里下载这么多图片作为背景/负片
  • 终于我知道我走对了……我们拭目以待。再次感谢您!
  • 我为获得一堆图像所做的是实际拍摄对象的短视频,然后将帧分割出来(您实际上可以通过 opencv 做到这一点,只需使用 videocapture 和将每一帧保存为/destinationfolder/imagenameXYZ 之类的东西,然后为每一帧增加它。然后您需要检查并剔除非常糟糕的图像,但这比在线查找十亿张图像更容易。与此相比,背景很容易 - @987654332 @ 有效,只要确保所有底片中都没有硬币。
  • 好的,我会按照您的建议尝试使用视频。只有一件事:我想视频捕捉程序会使用网络摄像头,不是吗?但是,如果我有硬币的视频,那么硬币所在的桌子或其他表面也将是可见的。怎么样?这是个问题吗?或者我应该裁剪硬币周围的照片/框架,以便只有最后一个可见?
  • Videocapture capture(0); 会打开一个网络摄像头,Videocapture capture("file/name/here.avi"); 会打开一个您制作的视频文件(我在手机上拍摄了它,然后将其传输过来)。您确实希望图像尽可能被裁剪,背景为单一颜色(黑色最好,opencv_createsamples 的默认值,但您可以将其更改为任何颜色,如蓝色或白色等),并且可以在获取帧的opencv程序,或使用paint.net之类的图像编辑器发布。
猜你喜欢
  • 2016-01-24
  • 1970-01-01
  • 1970-01-01
  • 2012-07-04
  • 2013-12-09
  • 2011-05-11
  • 1970-01-01
  • 2017-10-28
  • 2014-05-25
相关资源
最近更新 更多