如何有效地数字化色标?

时间:2014-07-27 21:19:42

标签: algorithm colors computer-vision

在多普勒信号分析的背景下,将测量的速度转换为如下的色标。遗憾的是,我无法直接访问速度值,因此我必须将色标数字化回一维数字刻度。我通过模拟信号S-video电缆以Python Numpy.ndarray的形式获得图像(例如下面的图像)。有人能指出我合适的算法吗?我应该尝试使用颜色直方图吗?

其他信息:

色标是对称的,因此如果最大速度为x,则最小值为-x

色标:

  • 红色:最大正速度(朝向观察者)
  • black:velocity = 0
  • 蓝色:最大负速度(远离观察者)

doppler color scale

此比例将用于分析此类图像(使用OpenCV):

use example image

1 个答案:

答案 0 :(得分:2)

这种色标似乎很容易重现,无需使用HSV或HSL。

假设xfloat,其范围可以从-1.0f1.0f

r = std::max<int>(0, std::min<int>(255,  512 * x));
g = std::max<int>(0, std::min<int>(255,  512 * (std::abs<float>(x) - 0.5f)));
b = std::max<int>(0, std::min<int>(255, -512 * x));