Display Pixel Values in Image - Alternative to `showPixelValues()`
Show older comments
Hello,
What I need is to be able to display it on an Axes Object on my own.
Namely something like:
hFigure = figure();
hAxes = axes();
DisplayImagePixelsValues(hAxes, mInputImage);
% Now set the properties of the axis.
Are there any alternatives to `showPixelValues()`? Something with more user control.
Thank You.
---
Update
According to answers it seems I wasn't clear.
I don't want to show data of a current axis or something.
I want a function which the input is a matrix (Small one) and the output is a regular axis object with result of an image with text of the pixels values.
From there I'd like to be able to customize this axes to my wishes.
Answers (3)
Image Analyst
on 3 Sep 2017
0 votes
How about impixelinfo()?
3 Comments
Royi Avital
on 3 Sep 2017
Image Analyst
on 3 Sep 2017
If not, then you'll just have to use text() to put up text labels over the image pixels.
Royi Avital
on 4 Sep 2017
Walter Roberson
on 3 Sep 2017
0 votes
The existing File Exchange contribution you linked to, does an imshow() without any parent, so it will display inside the current axes.
However, I discovered recently that if you imshow() and the current axes is at the default position, that imshow sets up conditions so that the axes will typically be deleted on the next graphics operation. You can avoid that by setting a non-default Position for the axes.
In any case you can easily edit the File Exchange Contribution to add a 'Parent' property to the imshow() calls and other calls.
9 Comments
Royi Avital
on 3 Sep 2017
Walter Roberson
on 3 Sep 2017
No.
Royi Avital
on 4 Sep 2017
Walter Roberson
on 4 Sep 2017
That would be a "bypass".
What you are asking is for there to be a function in MATLAB (or in the File Exchange at worst) that already does exactly what you want, without having to customize it even by minor changes. Such a function does not exist.
Royi Avital
on 5 Sep 2017
Walter Roberson
on 5 Sep 2017
The existing code does not produce HTML. The existing code produces a Figure. The figure has a single child axes. The axes contains an image, and a gridlines hggroup, and contains a whole bunch of text() objects.
The existing code does not return a handle to the figure that is created. However, the figure that is created will have a tag 'printImageToFigure'.
If you want to have the contents appear inside a figure you have already created, then call Steve's code and then
fig = findobj(0, 'tag', 'printImageToFigure');
figax = get(fig, 'Children');
and now you can copyobj() figax to the appropriate figure (or, better, appropriate uipanel.) After that you can delete(fig)
Royi Avital
on 6 Sep 2017
Walter Roberson
on 6 Sep 2017
What HTML code? The routine you linked to does not create HTML. Which routine are you looking at that produces HTML?
Royi Avital
on 7 Sep 2017
Sindhu
on 22 Aug 2023
0 votes
I need to display the pixel value in satellite image?
1 Comment
Display how?
help impixelinfo
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!