why the histogram wont show in the wanted axes the code has no errors but it wont show

 Accepted Answer

When you have no output variable for imhist() and you do not tell it which axes to display into, then it will call gca() to find the current axes. gca() will not look for axes whose handle visibility is turned off, but by default handle visibility is off for all uiaxes in app designer.
You need to either turn on handle visibility for the target axes and make it the current axes (not recommended), or else you have to pass the target axes to imhist (recommended)

2 Comments

but i thought i did tell it which axes to show up in i dont know this is the code
a =app.Image;
o=im2gray(a);
c=imhist(o);
I=imshow(c,'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)];
histforrgbbutton has imhist() with no output and no axes.

Sign in to comment.

More Answers (1)

DON'T use input for the name of a variable because it's already the name of a function that asks the user for a variable. Call it userInput or something. What does this show in the command window
whos a
I'd like to know if the badly-named "a" is actually a gray scale image, an RGB image, or a character array (string).

4 Comments

imhist works on gray scale images, not true color RGB images. To get histograms of RGB images use imsplit
Also, see attached demo.
its now writtenas a =app.Image;
o=im2gray(a);
c=imhist(o);
I=imshow(c,'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)];
still nothing shows up
imshow() works on an image, not a histogram object or counts of pixels. Don't use imshow at all. If you want to see the histogram, just use imhist(o) by itself
imhist(o); % "o" is a horrible name for a variable!

Sign in to comment.

Categories

Find more on Develop Apps Using App Designer 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!