OpenCV:对象检测

时间:2015-02-23 14:09:55

标签: python opencv object-detection

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

请注意,我已阅读此question的解决方案,但您可以猜测我不是在处理矩形和相机。

情况:

我需要在文件夹中保存很多照片,所有这些照片都遵守这些规则:

  • 在每张图片中,只有一个对象。
  • 对象可以是任何东西(汽车,马,人手...)
  • 图片的大小和格式属于特定集合。
  • 对象的背景总是白色。
  • 对象本身的颜色可以是其他任何东西(包括,为什么不是,白色像素的区域)

目标:

我想检测每张图片的对象是否为 CENTERED

开发环境:

  • 的Python
  • 的OpenCV

你认为这是可行的吗?

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

修改

按照上面的评论和回答:对我来说,如果我在它周围画一个正方形或矩形,那么一个居中的对象就是那个,正方形/矩形的边缘必须与图像的左侧和右侧相等,而对象的顶部和底部必须与图片的顶部和底部等距离。

1 个答案:

答案 0 :(得分:0)

是的,这是非常可行的。但是,根据图像包含的对象类型,它们是实现此目的的不同方法。假设图像中的对象都具有均匀的颜色,您可以轻松执行颜色检测算法,以像素的形式找到对象的中心点,并使用图像分辨率作为参考找到它的位置。

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

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

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

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

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