OpenCV:对象检测



我的问题是关于任务的可行性

请注意,我已经阅读了这个问题的解决方案,但你可以猜到我在这里不是在处理矩形和相机。

情况:

我需要把很多图片保存在一个文件夹中,所有这些图片都遵守以下规则:

  • 在每张照片中,只有一个物体
  • 物体可以是任何东西(汽车、马、人手…)
  • 图片的大小和格式属于某一组
  • 对象的背景始终为白色
  • 对象本身的颜色可以是任何其他颜色(包括,为什么不包括,白色像素区域)

目标:

我想检测每个图像的对象是否居中

开发环境:

  • Python
  • OpenCV

你认为这可行吗?

我希望我的问题不要太宽泛。我只是想知道这是否可以在没有人为干预的情况下自动完成。我有成千上万的。该程序将保存在一个单独的文件夹中,对象不在其中。

编辑:

根据上面的评论和答案:对我来说,如果我在一个居中的对象周围画一个正方形或矩形,则该正方形/矩形的边缘必须与图像的左侧和右侧等距,而对象的顶部和底部必须与图片的顶部和底面等距。

是的,这是非常可行的。然而,根据图像所包含对象的类型,它们有不同的实现方式。假设图像中的物体都有统一的颜色,你可以很容易地执行颜色检测算法,根据像素找到物体的中心点,并使用图像分辨率作为参考来找到它的位置。

由于背景始终是指定的白色,这可能是您的最佳方法,因为您可以提取图像中的所有非白色(或不同色调的白色)对象。

如果你决定采用这种方法,我应该能够为你指出一些相关的代码

虽然是用c++编写的,但有关这方面的更多信息可以在下面的链接中找到。

http://opencv-srf.blogspot.co.uk/2010/09/object-detection-using-color-seperation.html

链接基于视频中的对象检测,但由于视频只是一系列图像,因此相同的概念可以用于图像

最新更新