我阅读了im2double
班级支持:
强度和真彩色图像可以是uint8,uint16,double,logical, 单**或int16。索引图像可以是 uint8 , uint16 , double 或 的逻辑即可。二进制输入图像必须是逻辑的。输出图像是 双
我正在使用64位机器(即MATLAB使用 8字节来表示double类型的变量)。我有一个 uint32 类型的索引图像,我相信我应该可以将其转换为 double 类型,但im2double
似乎不支持它,即我收到以下错误:
使用im2double时出错预期的输入数字1,Image,是其中之一 这些类型:
double,logical,uint8,uint16,int16,single
相反,它的类型是uint32。
那么,如何将uint32
类型的矩阵(索引图像)转换为double
?
这完全在 MATLAB 2012a
上答案 0 :(得分:1)
索引(也称为伪彩色图像)
类逻辑,uint8,uint16,single或double的像素数组 值是色彩映射的直接索引。色彩图是m-by-3 类double的数组。
对于单数组或双数组,整数值的范围为[1,p]。对于 logical,uint8或uint16数组的值范围为[0,p-1]。
因此MATLAB不支持类uint32的索引图像。我想你必须做某种color quantization。