so in appdesigner im building a list box to turn the image to (red ,blue ,green) this is my code for it bout it wont run

3 views (last 30 days)
value = app.ListBox.Value;
if value== 'Red'
a=(app.Image);
red=a;
red(:,:,2:3)=0
setappdata(0,'filename',red);
setappdata(0,'imrotation',red);
I=imshow(red,'parent',app.UIAxes2,...
'XData',[1 app.UIAxes2.Position(3)],...
'YData',[1 app.UIAxes2.Position(4)]);
app.UIAxes2.XLim=[0 I.XData(2)];
app.UIAxes2.YLim=[0 I.YData(2)];
else if value== 'Blue'
Agray=im2gray(app.Image);
zerochan = zeros(size(Agray),class(Agray));
blue = cat(3,zerochan,zerochan,Agray);
setappdata(0,'filename', blue);
setappdata(0,'imrotation', blue);
I=imshow(blue,'parent',app.UIAxes2,...
'XData',[1 app.UIAxes2.Position(3)],...
'YData',[1 app.UIAxes2.Position(4)]);
app.UIAxes2.XLim=[0 I.XData(2)];
app.UIAxes2.YLim=[0 I.YData(2)];
else
Agray=im2gray(app.Image);
zerochan = zeros(size(Agray),class(Agray));
green = cat(3,zerochan,Agray,zerochan);
setappdata(0,'filename',green);
setappdata(0,'imrotation',green);
I=imshow(green,'parent',app.UIAxes2,...
'XData',[1 app.UIAxes2.Position(3)],...
'YData',[1 app.UIAxes2.Position(4)]);
app.UIAxes2.XLim=[0 I.XData(2)];
app.UIAxes2.YLim=[0 I.YData(2)];
end
end
end
  1 Comment
Jan
Jan on 13 Jan 2023
Edited: Jan on 13 Jan 2023
Please do not post code as screenshots, but as text. Then it can be used to create an answer with copy&paste.
This is not twitter: No # before the tags. Thanks.

Sign in to comment.

Answers (1)

Kevin Holly
Kevin Holly on 13 Jan 2023
Based on the red squiggly line under Methods in your screenshot, you may have an extra "end" in your code.
  2 Comments
Kevin Holly
Kevin Holly on 13 Jan 2023
Use strings instead of character arrays for your if conditions
if value == "Red"
The size was causing issues. See difference of size between character and string arrays below.
Character array:
size('Red')
ans = 1×2
1 3
String array:
size("Red")
ans = 1×2
1 1

Sign in to comment.

Categories

Find more on Get Started with MATLAB 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!