当我在 MATLAB 中使用 imread
并读取图像时,我如何以编程方式知道它是 RGB、灰度还是单一图像?
I1 = imread('sample_image.jpg');
在任何转换之前,我如何知道 I1
是什么类型?
最佳答案
您可以使用 imfinfo
在加载之前检索有关图像文件的信息:
info = imfinfo('sample_image.jpg');
info.ColorType % e.g. 'grayscale', 'truecolor', 'indexed'
info.BitDepth % e.g. 8, 16
您还可以查看 imread 的帮助部分,了解不同文件类型的输出类。问题在于确定灰度图像和索引颜色文件之间的差异 - 它们将具有相同的大小和类别。在这种情况下,您需要事先检查 ColorType
并在读取图像时加载颜色图:
[I, map] = imread(文件名)
关于image - 如何知道图像类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18367787/