如何在MATLAB中将灰度矩阵转换为RGB矩阵?

use*_*729 10 rgb matlab image matrix grayscale

rgbImage = grayImage / max(max(grayImage));
Run Code Online (Sandbox Code Playgroud)

要么

rgbImage = grayImage / 255;
Run Code Online (Sandbox Code Playgroud)

以上哪项是正确的,还有原因?

gno*_*ice 23

于转换灰度图像RGB图像,有两个问题必须解决:

  • 灰度图像是2- d,而RGB图像是3-d,所以你必须复制灰度图像数据三次并连接所有的三个拷贝沿第三维度.
  • 图像数据可以存储在许多不同的数据类型中,因此您必须相应地转换它们.当存储为double数据类型时,图像像素值应为0到1范围内的浮点数.当存储为uint8数据类型时,图像像素值应为0到255范围内的整数.您可以检查使用该函数的图像矩阵的数据类型class.

以下是您可能遇到的3种典型情况: