首页 文章

OpenCV - 如何优化色彩跟踪程序?

提问于
浏览
0

我想优化我的程序,其中我使用的颜色对象跟踪算法描述为here . 唯一的区别是我使用的是cvBlob库,而不是cv :: moments(cvBlob更快更准确) . 使用profiler(valgrind kcachegrind)我发现~29%的时间是由颜色空间转换方法(cv :: cvtColor;我跟踪三种颜色的对象) . 我正在从BGR转换为HSV .

我在一些论文中读过,使用YCbCr色彩空间在色彩跟踪方面更胜一筹 . 从BGR转换为YCbCR是个好主意吗?它应该稍快一点,因为它需要较少的乘法(我不确定 - 我不知道OpenCv如何在内部执行) . 这个算法是否需要进行一些更改,或者我可以将跟踪颜色的下限和上限从HSV转换为YCbCr,然后使用inRangeS方法,就像我使用HSV一样?

有没有办法从YcbCr(或YUV)的驱动程序中获取帧?我不是在问HSV,因为v4l2,AFAIR不支持 .

你还有其他建议吗?我不想使用IPP或GPU .

1 回答

  • 2

    查看cvtColor的OpenCV文档 . 它讨论了使用 cvtColorBGR2YCbCr 之间的转换 .

    (请尝试并在此处评论结果,即在YCbCr模式下花费的总时间百分比 . 因为它将来会帮助很多人 . )

相关问题