OpenCV 查找图像的紧密匹配
Posted
技术标签:
【中文标题】OpenCV 查找图像的紧密匹配【英文标题】:OpenCV to find close match for images 【发布时间】:2016-04-28 05:05:01 【问题描述】:我想找到最接近的匹配图像。例如有汽车和自行车的图像。如果给定的图像是自行车。那么它应该将给定的图像与存储的汽车和自行车进行比较,并根据基于形状的封闭给出结果。
我想知道是否可以找到轮廓并与最接近的轮廓匹配。
我尝试在 open cv 中使用 haar cascade。通过训练汽车图像和自行车。 但结果不正确可能是因为训练数据较少。(我不想用这个)
【问题讨论】:
我怀疑你会想要更好地调查机器学习是如何工作的。它的背景有助于为诸如 haar 级联之类的事物创建参数。给你的建议:报名参加 Andrew NG(斯坦福)的 Coursera 机器学习课程,其中有一堂课专门针对如何改进学习算法,重点是我需要更多的学习样本等......跨度> 感谢 zipzit 的回复。问题是我没有时间。有很多代码可用于面部检测等等,您不需要通过课程直接使用该功能。 没错。祝你好运。 有这么多面部识别代码的原因是人们投入了大量时间。由于整个无人驾驶汽车的事情,自行车识别也有其公平的份额,尝试搜索一下......但实际上,如果你不了解大部分代码,你将直接从网上获得便便结果调整参数(像 zipzit 这样的课程建议您开始学习) 【参考方案1】:为此,您将面临使用标准技术(例如轮廓)的艰难斗争。
编辑 >> 所以,以你的自行车为例,这里会发生什么:
?
神经网络和其他机器学习算法是您最好的选择:
特别是“Multiclass Classification”品种。通过培训(时间),他们更有可能将您的猫从您的自行车中分拣出来。
代码示例请看here。不是基于图像的示例,但您需要从某个地方开始 :)
DLIB library:
只有 8 个停车标志的训练图像,它的内部结构形成了这样的表示:
非常漂亮。
没有理由不能将轮廓结果用作 ML 分类器的输入,只要它们以某种方式提高信噪比...(即它们在某种程度上比不更“笨拙”)
【讨论】:
嗨,Lamar Latrell 给出了鸡和猫的例子不匹配,但根据我的要求,两个图像相同是可以的,因为它们具有相同的形状,如果你能提供一些代码示例将会很有帮助 Lamer - 输入文件将由我提供,包括自行车或汽车 @usernanny,所以要比较的图像集,以及与之比较的图像是事先完全知道的? 是的。我确信用于比较的图像是自行车或汽车。 正如你所说,轮廓不会给出正确的输出,我同意你的观点。为此,我将不得不使用 ML。但对于我的应用程序,我不需要该功能。【参考方案2】:我认为可以应用和测试以下方法->
-
GF-HOG
可变形零件模型
神经网络
组合将是一个很棒的想法,但 GFHOG 会增加开销。
研究一下它非常酷的技术,我认为这将回答您的问题。 http://personal.ee.surrey.ac.uk/Personal/R.Hu/ICIP.html
【讨论】:
我会检查一下 Anubhav以上是关于OpenCV 查找图像的紧密匹配的主要内容,如果未能解决你的问题,请参考以下文章
Opencv实现图像无缝拼接,Sift查找特征点,Flann进行匹配