Azzera filtri
Azzera filtri

Error : Function definition is misplaced or improperly nested.

4 visualizzazioni (ultimi 30 giorni)
here the code.
[filename,pathname] = uigetfile({'*'})
if ~isequal(filename,0)
info = imginfo(fullfile(pathname,filename));
if info.BitDepth == 1
msgbox('Citra harus RGB atau Grayscale');
return
else if info.BitDepth == 8
Img = imread(fullfile(pathname,filename));
axes(handles.axes1)
cla('reset')
imshow(Img)
title('Grayscale Image')
else
Img = rgb2gray(imread(fullfile(pathname,filename)));
axes(handles.axes1)
cla('reset')
imshow(Img)
title('Grayscale Image')
end
return
end
handles.Img = Img;
guidata(hObject,handles);
  5 Commenti
Geoff Hayes
Geoff Hayes il 28 Apr 2019
For sure the last two lines are out of place and should be in the body of the block that defines the Img. And your first if block is missing an end.
suoh mikoto
suoh mikoto il 28 Apr 2019
that's right, there isn't a space on my "else if".
solved, thanks.

Accedi per commentare.

Risposte (1)

Geoff Hayes
Geoff Hayes il 28 Apr 2019
suoh - I think that one problem might be with your "else if". In MATLAB, there isn't a space and so this is just "elseif". The way you have it right now suggests that you have an else block followed by another if/else block which would need to be terminated with an end just like the previous two if blocks... but you only have two ends which might then be the source of the error.
For sure the last two lines are out of place and should be in the body of the block that defines the Img. And your first if block is missing an end.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by