如何在matlab gui中显示灰色图像

时间:2017-03-10 13:54:05

标签: matlab user-interface matlab-figure

我有一张图片,我想将该图片转换为灰色。之后,我试图在GUI中显示灰色图像,但它看起来就像彩虹一样。如何在GUI中显示灰色图像?我尝试了下面的代码,但它不起作用。请帮忙

X = imread('j3.jpg');
X=rgb2gray(X);
axes(handles.axes1);
imshow(X)

但是我收到了以下错误:

Error using matlab.ui.Figure/set
While setting the 'Colormap' property of 'Figure':
Value must be either:
an Mx3 array of type single or double in the range [0 1]
an Mx3 array of type uint8

Error in images.internal.basicImageDisplay (line 71)
    set(fig_handle, 'Colormap', map);

Error in imshow (line 293)
  hh = images.internal.basicImageDisplay(fig_handle,ax_handle,...

Error in gray>pushbutton1_Callback (line 83)
imshow(X)

Error in gui_mainfcn (line 95)
        feval(varargin{:});

Error in gray (line 42)
    gui_mainfcn(gui_State, varargin{:});

Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)gray('pushbutton1_Callback',hObject,eventdata,guidata(hObject)) 
Error while evaluating UIControl Callback

问题是什么以及如何解决?

1 个答案:

答案 0 :(得分:2)

您似乎已将GUI gray.m命名为与内置gray函数冲突,该函数提供灰度色彩图(imshow的默认值)。因此,当MATLAB尝试创建灰度色图(colormap(gray))时,它会调用您的GUI并且输出不是colormap所期望的,导致您显示的错误。< / p>

您需要将GUI重命名为其他内容,否则您应该没有问题。