Image Matlab图形用户界面图像错误蓝色

Image Matlab图形用户界面图像错误蓝色,image,matlab,user-interface,Image,Matlab,User Interface,我正在使用以下代码创建包含图像的GUI: try Imagenamehere = imread('Imagenamehere.jpg'); axes(handles.Logo) image(Imagenamehere) set(gca,'xtick',[],'ytick',[]) catch msgbox('Please download all contents from the zipped file into working directory.')

我正在使用以下代码创建包含图像的GUI:

try
    Imagenamehere = imread('Imagenamehere.jpg');
    axes(handles.Logo)
    image(Imagenamehere)
    set(gca,'xtick',[],'ytick',[])
catch
    msgbox('Please download all contents from the zipped file into working directory.')
end
图像显示出来了,但由于某种原因,它被完全涂成了蓝色,好像通过了蓝色滤镜。我不认为上传图片是明智的,但它是一个简单的黑白标志

有人知道这是什么原因吗

检查图像的大小、类型(可能是
uint8
)和范围。出于某种原因,您的图像显示为jet(默认值),并且您的范围可能不是MATLAB期望的范围(例如0到1,而不是0到255),导致您的所有值相对较低(jet colormap上的蓝色)

“黑白”只是解释仅包含两种颜色的图像文件的一种方法。当您将数据传递到像
image
这样的显示函数时,MATLAB会做出一些假设。如果您不指定colormap和图像数据范围,它将根据数据类型之类的内容进行猜测

一种可能性是您的徽标文件是索引图像。在这些情况下,您需要执行以下操作:

[Imagenamehere map] = imread('Imagenamehere.jpg');
colormap(map);

谢谢你,我猜这是一个索引图像,因为我使用了你建议的代码,徽标现在显示如预期的那样!我刚刚意识到这带来了一个新问题!我以前涂过颜色的其他数字现在是黑白的?类型是uint8。获取500x542的cdata大小和16x3的彩色地图大小。如果您在一个图形/gui中要显示多个不同的图像,其中一些是rgb(truecolor),一些是索引的,请使用
imfinfo
检查每种图像类型,并使用
ind2rgb
将索引图像更改为rgb。当我使用imfinfo时,我恐怕会得到:'使用imfinfo时出错(第80行)预期文件名为以下类型之一:char,而其类型为uint8'