showing the histogram in UIAxes_2 And not separately in the application

my code:
global a;
global input;
input=im2gray(a);
imhist(input);
imshow(input,'Parent',app.UIAxes_2);

 Accepted Answer

imhist() does not have any possibility of passing in an an axes.
You will need to use the form of imhist() with outputs, and then draw the results. Something like
a = app.a;
app.gray_a = im2gray(a);
[counts, locations] = imhist(app.gray_a);
imshow(app.gray_a, 'Parent', app.UIAxes_2);
hold(app.UIAxes_2, 'on');
bar(locations, counts, 'Parent', app.UIAxes_2);
hold(app.UIAxes_2, 'off');
Notice the lack of global variables. Using global variables in App Designer is most often... misguided...

More Answers (0)

Products

Release

R2022b

Community Treasure Hunt

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

Start Hunting!