OpenCV——如何优化颜色跟踪程序
OpenCV -- how to optimize color tracking program?
我想优化我的程序,在其中我使用了这里描述的颜色对象跟踪算法。唯一的区别是我使用的是cvBlob库,而不是cv::moments(cvBlob更快更准确)。使用profiler(valgrind+kcachegrind),我发现大约29%的时间是通过颜色空间转换方法(cv::cvtColor;我用三种颜色跟踪对象)花费的。我正在从BGR转换为HSV。
我在一些论文中读到,使用YCbCr颜色空间在颜色跟踪方面甚至更好。将BGR转换为YCbCR是个好主意吗?它应该稍微快一点,因为它需要更少的乘法运算(我不确定——我不知道OpenCv是如何在内部实现的)。这个算法需要一些更改吗?或者我可以像处理HSV一样,将跟踪颜色的上下限从HSV转换为YCbCr,然后使用inRangeS方法吗?
有什么方法可以从YcbCr(或YUV)中的驱动程序获取帧吗?我不是在问HSV,因为这是不支持v4l2,AFAIR。
你还有其他想法吗?我不想使用IPP或GPU。
查看cvtColor
的OpenCV文档。讨论了CCD_ 2与CCD_。
(请尝试一下,并在这里评论结果,即YCbCr模式下所需时间占总时间的百分比。因为它将在未来帮助很多人。)
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- C++,系统无法执行指定的程序
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 重载操作程序时出错>>用于类中的字符串 memebr
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 试图在visual studio上用C++创建一个桌面应用程序
- 模板元程序查找相似的连续类型名称
- 将"打开的CV图像"中的"颜色"转换为整数格式
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 从OpenGL应用程序中提取颜色/深度缓冲区
- QtGui应用程序背景颜色样式表
- qt 样式 QPalette::窗口文本颜色在应用程序启动后恢复
- QQml_colorProvider:未设置颜色提供程序
- BASH下运行程序的颜色输出
- OpenCV——如何优化颜色跟踪程序
- 为什么通过系统("color YX")更改控制台应用程序中C++颜色不是最佳解决方案?
- 在c++, Windows Store Metro应用程序中设置控件的颜色
- Windows 10上本机C++应用程序的自定义标题栏颜色