任意范围到亮度的转换

时间:2019-03-21 16:43:28

标签: image-processing data-visualization rgb

我有一个二维矩阵,值的范围为<-a, b>。我想通过灰度图像可视化该图像。我应该如何处理我的数据以使其正确可视化?

据我所知,人眼具有对数标度,因此我的变换也应为对数。

1 个答案:

答案 0 :(得分:1)

在可感知的统一色彩空间中将值转换为亮度,例如CIE Lab或Luv。然后将其转换为RGB进行显示。

例如,这些在colormath模块中可用。

如果您输入的值是x

L = 100*(x - xmin) / (xmax - xmin) # L is 0-100
a, b = 0, 0 # neutral values

from colormath.color_objects import LabColor, RGBColor
from colormath.color_conversions import convert_color

lab = LabColor(L, a, b)
rgb = convert_color(lab, RGBColor)
# display rgb

Matplotlib在有关colormaps的部分中有很多与此相关的信息: https://matplotlib.org/users/colormaps.html