如何在 matlab gui 中显示灰度图像
how display a gray image in matlab gui
我有一张图片,我想将该图片转换为灰色。之后,我尝试在 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
问题是什么,如何解决?
看来您已将 GUI 命名为 gray.m
,这与提供灰度颜色图(imshow
的默认值)的内置 gray
函数冲突。因此,当 MATLAB 尝试创建灰度颜色图 (colormap(gray)
) 时,它会调用您的 GUI,并且输出不是 colormap
所期望的,从而导致您显示的错误。
您需要将 GUI 重命名为其他名称,应该没有问题。
我有一张图片,我想将该图片转换为灰色。之后,我尝试在 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
问题是什么,如何解决?
看来您已将 GUI 命名为 gray.m
,这与提供灰度颜色图(imshow
的默认值)的内置 gray
函数冲突。因此,当 MATLAB 尝试创建灰度颜色图 (colormap(gray)
) 时,它会调用您的 GUI,并且输出不是 colormap
所期望的,从而导致您显示的错误。
您需要将 GUI 重命名为其他名称,应该没有问题。