Matlab gui图像错误的蓝色

时间:2014-09-08 10:21:20

标签: 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.')
end

图像显示但由于某种原因完全着色为蓝色,就像穿过蓝色滤镜一样。我不认为上传图像是明智的,但它是一个黑白色的简单徽标。

任何人都知道是什么原因引起的?

1 个答案:

答案 0 :(得分:2)

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

"黑白"只是一种解释只包含两种颜色的图像文件的方法。当您将数据传递到image等显示函数时,MATLAB会做出一些假设。如果您没有指定色彩映射和图像数据范围,它将根据数据类型等内容进行猜测。

一种可能性是您的徽标文件是索引图像。在这些情况下,您需要这样做:

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