图像处理:识别图像中相同对象的多个实例

时间:2017-01-13 13:54:16

标签: image-processing computer-vision sift surf ransac

我正在开展一个项目,我必须识别杂货壳中的物体。您可以在下面看到示例图片:

Example Image

我需要找到图片中存在的产品。结果图像的示例如下所示:

Result Image

SURF,SIFT,ORB等OpenCV工具仅检测图像中一次出现的对象。你能否提出一些文件或工具来解决这个问题。

2 个答案:

答案 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.