2012-02-12 55 views
1

我正在使用OpenCV中已有的一些函数,如彩色轮廓跟踪和图像匹配..我试图识别粉红色的鸭子,更具体地说是鸭子的头部,但是这两个函数不要给我我期待的结果,原因如下:OpenCV中的物体识别方法

  1. 颜色的东西并不总是工作完美,因为雷电的变化,相应地会改变相机看到的颜色。
  2. 当我使用图像匹配的东西时,我使用了一个从特定位置拍摄的鸭子图像,只有当他处于该位置时才能识别鸭子,但即使在旋转鸭子或玩它。

有没有人有更好的方式来跟踪某个对象的想法?

谢谢

+0

过滤颜色通道。如果鸭子是粉红色的,请移除蓝色通道以获得更好的对比度。 – Blender 2012-02-12 06:42:47

+0

这是为什么?另外..我需要一些方法来识别鸭子的头......这不能仅通过颜色来完成,我应该找出一种方法来做到这一点..你有什么想法吗? – user573014 2012-02-12 06:49:37

回答

0

您是否尝试过converting the imagehsv colourspace?该色彩空间尝试去除照明效果,因此可能能够改善基于颜色的分割。

为了识别鸭子的头部,一旦您将鸭子识别为一个整体,您可以确定方向(使用模板匹配来自不同视角或haar级联或一组模板)或然后使用已知的方向和经验法则来确定头部所在的位置。例如,如果您在某个边界框内检测到鸭子处于直立位置,则假定头部位于该边界框的顶部三分之一处。

0

我认为这可能只是OpenCV提供的直接方式。

鉴于您的具体问题,您可能只想尝试某种形状描述符。

基本上,从各个角度尝试拍摄鸭子头的图片形状,并从中捕捉形状。

现在,您可以找到一个可能性模型(原谅我不是一个非常准确的术语),它可以验证给定的捕获形状是否属于鸭头类的假设。颜色可以是一个额外的功能,可能会有所帮助。

如果你是这个领域的新人 - 试试抓住Duda and Hart: Pattern Classification。这并不能解决找到鸭子问题,但会塑造你的想法。

+0

非常感谢你..它的帮助:) – user573014 2012-02-14 20:15:37