我已经完成了创建应用程序的任务,其中给出了图像,我必须检测该图像中存在哪个对象(有限对象列表之外)。 一个图像中只有一个对象,图像中没有对象。 应用程序应该能够识别对象(如果存在)(任何列出的对象) 如果应用程序(程序)可以计算出特定对象在图像中存在的概率(来自对象列表),那也就足够了。
有谁能建议如何解决这个问题? opencv?
实际上,任务是从图像中识别(如焦炭,百事可乐,戴尔等公司)的徽标(如果存在于徽标列表中的任何一个(有限说100))
我该怎么做这个项目?请帮忙。!!!!
答案 0 :(得分:6)
有很多方法可以做到这一点,但我最喜欢的方法是为每个对象构建一个功能集,然后在图像中匹配它。
您可以使用SIFT为每个对象构建关键点向量。通过将SIFT应用于每个图片,您将获得每个图片的一组描述符(比如图片,对象,......)。
当您获得要处理的图像时,使用FAST检测点,并为每组不同的描述符执行cvMatchTemplate()。概率最高的那个会告诉你检测到哪个反对意见。如果所有概率都太低,那么您可能在图像上没有任何对象。
这只是我喜欢的一种方法,但它非常先进,精确,快速。
答案 1 :(得分:2)
我建议你googling并在尝试做之前阅读这个主题。 您想要执行object recognition或徽标识别。已有SO questions about this。
Here is a starting point for Opencv
整个过程花了我半分钟来搜索。也许这就是你应该开始寻找的东西