HSV转RGB的效率问题探讨

最近朋友遇到一个技术难题,我也没相关经验,只能记录以下,方便以后解决。

问题描述

朋友想高效地在一块嵌入式的板子上实现 640*480 HSV格式的图片转换成 RGB格式的图片,要求处理时延不能超过20ms。

解决方案

朋友试了很多中解决方案,包括:

  • 使用OpenCV的cvtColor函数,性能太差,可能是嵌入式板子的CPU处理器性能差的原因。
  • 使用OpenGL进行图像格式转换,性能还是不够。
  • 采用GPU加速图像处理,性能还是不够,GPU可能能够快速处理图像,但是图像数据在CPU和GPU之间的数据搬运也很耗时。
  • 使用OpenGL帧缓存双缓冲,性能还是不够

最后建议优化HSV转RGB格式的算法,提高CPU执行效率。

参考链接

  1. 数字图像处理——RGB与HSV图像互相转换原理,by 萌萌哒程序猴.
  2. OpenGL帧缓存,by 先锋小牛.
  3. OpenCV 自学笔记21. RGB色彩空间和HSV色彩空间的理解,by 两鬓已不能斑白.
  4. opencv中使用cuda加速图像处理,by 我是一个对称矩阵.