1

在文档中阅读了以下内容im2double

课堂支持:

强度和真彩色图像可以是 uint8、uint16、double、logical、single** 或 int16。索引图像可以是uint8uint16doublelogical。二进制输入图像必须是合乎逻辑的。输出图像是双倍的

我正在使用 64 位机器(即 MATLAB 使用8 个字节来表示 double 类型的变量)。我有一个uint32类型的索引图像,我相信我应该能够将其转换为double类型,但im2double似乎不支持它,即我收到以下错误:

使用 im2double 时出错 预期输入编号 1,Image,是以下类型之一:

双,逻辑,uint8,uint16,int16,单

相反,它的类型是 uint32。

那么,如何将类型的矩阵(索引图像)转换uint32double

这一切都在MATLAB 2012a上

4

1 回答 1

1

根据这个页面(这里也有一些信息):

索引(也称为伪彩色图像)

逻辑类、uint8、uint16、single 或 double 类的数组,其像素值是颜色映射的直接索引。颜色图是一个双精度类的 m×3 数组。

对于单数组或双数组,整数值的范围为 [1, p]。对于逻辑、uint8 或 uint16 数组,值范围为 [0, p-1]。

因此 MATLAB 不支持 uint32 类的索引图像。我想你必须做某种颜色量化

于 2012-07-29T23:30:12.963 回答