我给出了一个创建应用程序的任务,其中给定了图像,并且我必须检测该图像中存在哪个对象(从有限对象列表中)。一个图像中只有一个对象,或者图像中没有对象。如果存在(任何列出的对象),则应用程序应当能够识别该对象。如果应用(程序)能够计算特定对象存在于图像(来自对象列表)中的概率,则也是足够的。
有人能建议如何解决这个问题吗?opencv?
实际上,任务是从图像中识别(可口可乐、百事可乐、戴尔等公司的)标识(如果存在标识列表中的任何标识(有限,例如100))。
我该怎么做这个项目?请帮帮忙。!
发布于 2012-05-30 13:10:58
有很多方法可以做到这一点,但我最喜欢的一种方法是为每个对象构建一个特征集,然后在图像中进行匹配。
可以使用SIFT为每个对象构建关键点向量。通过对每一张图片应用筛选,你将获得每张图片的一组描述符(比如图片、对象等)。
当您获得想要处理的图像时,使用FAST来检测点,并对每组不同的描述符执行cvMatchTemplate()。概率最高的将告诉您检测到的是哪个对象。如果所有概率都太低,那么图像上可能没有任何对象。
这只是我喜欢的一种方法,但它相当先进,精确,快速。
发布于 2012-05-30 10:16:34
我建议你在尝试做事情之前,先在googling上阅读一下这个主题。您想要执行object recognition或徽标识别。已经有SO questions about this了。
Here is a starting point for Opencv
整个过程花了我半分钟的时间来搜索。也许这就是你应该开始寻找的东西
https://stackoverflow.com/questions/10814089
复制