MATLAB imread将彩色GIF读取为灰度图像。

4

当我尝试使用imread读取以下GIF图像时:

enter image description here

我看到的是这张灰度图像:

enter image description here

这是复现问题所需的代码:

img = imread('https://istack.dev59.com/ISgSJ.gif');
imshow(img)

MATLAB能够正确读取其他图像,但为什么这个特定的图像不行呢?我应该如何读取它?


1
鉴于您没有提供任何相关信息,很难判断。 - Mad Physicist
这是一张索引图像,如果你正在寻找这个术语。 - Ander Biguri
你们拥有MATLAB金徽章的人不再关闭问题了吗?请参见此问题此问题 - Paolo
@UnbearableLightness:如果你想帮助管理MATLAB标签,请加入我们的聊天室 - Cris Luengo
1个回答

3

这个GIF图像有一个颜色映射表。您需要单独读取颜色映射表并将其用于显示:

[img, cm] = imread('https://istack.dev59.com/ISgSJ.gif');
imshow(img, cm)

要将图像转换为RGB图像,请使用ind2rgb函数:

img = ind2rgb(img, cm);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接