将索引图像颜色图转换为 uint8

Convert indexed image colormap to uint8

我正在尝试使用以下代码读取图像的颜色图:

[X, map] = imread('D:\Eye.png');

但是 map 被重新调整为 [0,1] 类型 double。如何获得 uint8 范围 [0,255] 中的颜色图?

这可以通过简单地重新缩放 map 并将其转换为 uint8:

来解决
uint8(255*map);

可选地,您可以在投射之前对其进行舍入(如上所述,默认舍入方案是 floor):

uint8(round(255*map));