检测图像中的多个3d形状

时间:2015-11-09 12:31:19

标签: c++ opencv image-processing computer-vision

我目前正在为我最近开始的项目学习OpenCV,并且需要在图像中检测3D盒子(想象大塑料盒可能是3英尺x 2英尺x 2英尺)。我已经使用inRange方法创建了一个只有我想在其中检测到的框的图像,但我不确定从那里去哪里。我想从OpenCV中获取这些框的3D表示,但我无法弄清楚如何。我发现了很多教程,解释了如何只使用一个对象(我已成功完成),但我不知道如何在一个图像中使用多个框来完成此工作。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您已经建立了一个适用于一个对象的方法,您可以采用分而治之的方法:将您的图像与多个框分成几个带有一个对象的图像,将您的问题分成几个小问题

  1. 将对象检测器应用于图像。 This Tutorial on Object Detection may help you。使用OpenCV快速搜索对象检测也得到了this
  2. 确定对象的边界框(x和y坐标的最小值/最大值,可能会添加一些边界边距)
  3. 裁剪边界框以获取单个对象图像
  4. 将已经工作的方法应用于单个对象图像集
  5. 在重叠的情况下,裁剪的图像可能需要一些处理来隔离“主”对象。然后4.工作是否取决于您的方法对遮挡的强大程度。

    在寻找物体检测时,我偶然发现了你的问题。你提问已经有一段时间了,但由于这是一个公共知识库,对这个主题的讨论可能对其他人有帮助。