How to convert selected image to gray scale using MATLAB GUI

1 view (last 30 days)
Hye,
Im using MATLAB GUI to select image it n convert it into gray scale And i get n error
Coding in gui
global cim
[filename pathname] = uigetfile({'*.jpg'},'File Selector');
cim = strcat(pathname,filename);
G=rgb2gray(cim)
axes(handles.axes1)
imshow(G)
Error
Error using rgb2gray>parse_inputs (line 80)
MAP must be a m x 3 array.
Error in rgb2gray (line 52)
isRGB = parse_inputs(X);
Error in GUI2>SI_Callback (line 84)
G=rgb2gray(cim)
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in GUI2 (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)GUI2('SI_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.

Answers (1)

Mohammad Sami
Mohammad Sami on 7 Oct 2020
Edited: Mohammad Sami on 7 Oct 2020
Before you can process the image, you need to load it using imread.
Also it's a bad idea to directly concatenate file paths. For cross platform compatability use fullfile function instead.
cim = fullfile(pathname,filename);
cim = imread(cim);
G=rgb2gray(cim)
axes(handles.axes1)
imshow(G)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!