首页 > 其他分享 >图像处理:ColorMap将灰度图像[0,1]区间上的像素值映射到RGB的[0,255]

图像处理:ColorMap将灰度图像[0,1]区间上的像素值映射到RGB的[0,255]

时间:2022-10-26 16:26:34浏览次数:57  
标签:ColorMap min int labels RGB 灰度 pixel 255

1. 起因

在做人群计数时,常常使用密度图来估计人数。密度图中每个像素的值都是介于0和1之间的浮点数,原本是灰度图。但是使用python的matplotlib.pyplot并指定cmap参数可以画出伪彩色图。如果想用代码保存这种图片该怎么办呢?这里介绍一种方法。
image
image

2. 使用的工具

  • python
  • numpy
  • cv2

3. 方法

其实就是一个线性映射。

# labels是一个二维数组,是密度图
ax_pixel = np.max(labels)
min_pixel = np.min(labels)
delta = max_pixel - min_pixel
labels_int = ((labels-min_pixel)/delta*255)
# 以下操作是为了反转jet的颜色,不然就会出现数值高的反而是蓝色,数值低的是红色,不像热力图了
labels_int = labels_int * (-1)
labels_int = labels_int + 255
labels_int = labels_int.astype(np.uint8)
color_label = cv2.applyColorMap(labels_int,cv2.COLORMAP_JET)

标签:ColorMap,min,int,labels,RGB,灰度,pixel,255
From: https://www.cnblogs.com/x-ocean/p/16828799.html

相关文章