我正在开展一个项目,我必须识别杂货壳中的物体。您可以在下面看到示例图片:
我需要找到图片中存在的产品。结果图像的示例如下所示:
SURF,SIFT,ORB等OpenCV工具仅检测图像中一次出现的对象。你能否提出一些文件或工具来解决这个问题。
答案 0 :(得分:1)
通常,有多种技术可以检测图像中同一对象的多个实例。
最原始的方法是模板匹配。因此,您可以创建多个比例和旋转的训练图像数据库,以便能够在不同条件下检测此类对象。但是有许多技术比这种传统技术更好。
其他一些技术使用的纹理特征在比例,旋转或两者上都是不变的。例如,GLCM,LBP,HOG,SIFT,ORB等。
您的陈述OpenCV tools like SURF, SIFT, ORB detects only one occurrence of the object in an image.
需要更多改进。
列出的工具不是为了检测对象,而是提取纹理特征的方法。 您可以调整它们以检测多个对象。
有一种更好的方法可以解决您的问题。似乎所有需要检测的对象都包含文本TASSAY
。
您可以使用一组morphological operations
轻松提取该文本,然后使用blob检测器检测文本的位置。
返回文本后,可以轻松地测量文本位置。
可以从文本位置轻松推断出对象边界框。
希望它有所帮助。
答案 1 :(得分:0)
标准模板匹配算法(例如在Sikuli或Kantu浏览器中实现)可以通过设计找到多个匹配项。基本上,您定义相似性得分,模板匹配会返回所有匹配超过此阈值。
Screenshot of template matching test with Kantu web automation, using the small image in your post.