image-processing - OpenCV中的对象识别方法

标签 image-processing opencv

我正在使用 OpenCV 中已经提供的一些功能,例如颜色轮廓跟踪和图像匹配。我正在尝试识别粉红色的鸭子,更具体地说是鸭子的头部,但这两个功能并没有给我我的结果我期待一些原因,例如:

  • 颜色的东西并不总是完美的,因为闪电的变化会相应地改变相机看到的颜色。
  • 当我使用图像匹配的东西时,我使用从特定位置拍摄的鸭子的一张图像,它只有在鸭子处于该位置时才能识别它,但即使我旋转鸭子或玩耍时我也想识别它带着它。

  • 有没有人有关于跟踪某个对象的更好方法的想法?

    谢谢

    最佳答案

    你试过converting the image进入hsv colourspace ?此色彩空间试图消除照明的影响,因此可能能够改善基于颜色的分割。

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

    关于image-processing - OpenCV中的对象识别方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9246984/

    相关文章:

    python - Numpy - 通过测试相邻索引获取索引位置

    python - 使用 OpenCV 提高/优化查找轮廓的准确性

    opencv - Kinect SDK 深度数据(C++)到 OpenCV?

    c++ - Opencv c++Template/Pattern 匹配缩放和旋转不变量

    c# - 如何将 .NET 图像或字节数组转换为 Emgu.CV.Image<Emgu.CV.Structure.Bgr , byte >

    c# - Aspose pdf417识别

    matlab - 如何在 MATLAB 中创建一个画有线的图像矩阵?

    c++ - OpenCV 2.1 托管 C++ (CLI/C++) 中的 cvSetMouseCallback

    c++ - OpenCV 错误 : Insufficient memory

    java - OpenCV 检测钻孔