2012-05-30 34 views
4

我已经给出了一个任务来创建一个应用程序,在该应用程序中给出图像,并且我必须检测该图像中存在哪个对象(超出有限对象列表)。 只有一个对象存在于一个图像中,或者图像中没有任何物体。 应用程序应该能够识别对象是否存在(任何列出的对象) 如果应用程序(程序)可以计算出特定对象出现在图像中(来自对象列表)的概率,那也就足够了。如何检测图像中存在哪个对象?

任何人都可以建议如何解决这个问题? opencv?

其实任务是识别标志(一些公司如可口可乐,百事可乐,戴尔等)从图像(如果从标识的列表(这是有限存在的任何说100))

如何我做这个项目?请帮忙。!!!!

+2

http://stackoverflow.com/q/2074956/176769 – karlphillip

回答

6

有很多方法可以做到这一点,但我最喜欢的方法是为每个对象构建一个功能集,然后在图像中匹配它。

您可以使用SIFT为每个对象构建关键点矢量。通过将SIFT添加到每张图片中,您将获得每张图片的一组描述符(比如图片,对象,...)。

当您得到想要处理的图像时,请使用FAST来检测点,并对每个不同的描述符集使用cvMatchTemplate()。概率最高的人会告诉您您检测到哪个异议。如果所有概率都太低,那么图像上可能没有任何物体。

这只是我喜欢的一种方法,但它是相当先进的,精确的,快速的。