在MATLAB中的RGB图像中,白色是否具有固定值(1 IMO)?

在MATLAB中的RGB图像中,白色是否具有固定值(1 IMO)?,matlab,image-manipulation,rgb,Matlab,Image Manipulation,Rgb,或者说,1是否表示RGB图像为白色 我有这个问题是因为这个答案: 有人能澄清一下吗?可以存储为。图像类型及其存储的数据类型将决定“白色”的构成: 矩阵(每个像素有一个数据值)可以是以下数据类型中的任意一种:uint8、uint16、int16、single或double。从文件中: 对于单一类的矩阵或 使用默认灰度加倍 颜色贴图,强度0表示 黑色,强度1表示 白色对于uint8类型的矩阵, uint16,或int16,强度 intmin(类(I))表示黑色和黑色 强度intmax(等级(I)

或者说,
1
是否表示RGB图像为白色

我有这个问题是因为这个答案:

有人能澄清一下吗?

可以存储为。图像类型及其存储的数据类型将决定“白色”的构成:

  • 矩阵(每个像素有一个数据值)可以是以下数据类型中的任意一种:
    uint8
    uint16
    int16
    single
    double
    。从文件中:

    对于
    单一类的矩阵
    使用默认灰度加倍
    颜色贴图,强度0表示 黑色,强度1表示 白色对于
    uint8
    类型的矩阵,
    uint16
    ,或
    int16
    ,强度
    intmin(类(I))
    表示黑色和黑色 强度
    intmax(等级(I))
    代表白色

  • 矩阵(每个像素有三个数据值:红色、绿色和蓝色)可以是以下数据类型中的任意一种:
    uint8
    uint16
    single
    double
    。从文件中:

    在类
    single
    double
    ,每个颜色分量都是一个 值介于0和1之间。一个像素 颜色分量是(0,0,0)是 显示为黑色,且像素 颜色分量是(1,1,1)是 显示为白色

可以存储为。图像类型及其存储的数据类型将决定“白色”的构成:

  • 矩阵(每个像素有一个数据值)可以是以下数据类型中的任意一种:
    uint8
    uint16
    int16
    single
    double
    。从文件中:

    对于
    单一类的矩阵
    使用默认灰度加倍
    颜色贴图,强度0表示 黑色,强度1表示 白色对于
    uint8
    类型的矩阵,
    uint16
    ,或
    int16
    ,强度
    intmin(类(I))
    表示黑色和黑色 强度
    intmax(等级(I))
    代表白色

  • 矩阵(每个像素有三个数据值:红色、绿色和蓝色)可以是以下数据类型中的任意一种:
    uint8
    uint16
    single
    double
    。从文件中:

    在类
    single
    double
    ,每个颜色分量都是一个 值介于0和1之间。一个像素 颜色分量是(0,0,0)是 显示为黑色,且像素 颜色分量是(1,1,1)是 显示为白色


所以在我之前的帖子中,
rgbImage=grayImage/255
是将灰度图像转换为double类型的RGB图像的正确解决方案吗?@user198729:不完全正确。我将为另一个问题添加一个答案。那么元素大于
1
double
矩阵实际上毫无意义?如果是这样,为什么
double(灰度图像)
不会隐式/自动地按
255
缩放结果,而是要求我们显式地按
double(灰度图像)缩放结果/255
?@user198729:double矩阵的值可以大于1,但如果该矩阵被认为是图像数据矩阵,则当您将图像数据传递给它们时,大多数(如果不是所有)图像处理函数都会抛出错误/警告(因为他们希望
double
类型的图像数据矩阵的值介于0和1之间)。转换为double不会自动缩放255,因为并非所有要转换为double的对象都是图像数据矩阵,所以您必须自己缩放。您提到了
truecolor
,是否有
falsecolor
?因此在我之前的帖子中,
rgbImage=grayImage/255;
是正确的解决方案,而不是o将灰度图像转换为双精度RGB类型?@user198729:不完全正确。我将为另一个问题添加一个答案。那么元素大于
1
double
矩阵实际上什么都不是?如果是,为什么
double(灰度图像)
不会隐式/自动地按
255缩放结果,但要求我们显式地按
double(灰度图像)缩放/255
?@user198729:double
矩阵的值可以大于1,但如果该矩阵被认为是图像数据矩阵,则当您将图像数据传递给它们时,大多数(如果不是所有)图像处理函数都会抛出错误/警告(因为他们希望
double
类型的图像数据矩阵的值介于0和1之间)。转换为double不会自动缩放255,因为并非所有要转换为double的对象都是图像数据矩阵,因此您必须自己缩放。您提到了
truecolor
,是否存在
falsecolor