3D graphic plot
Ältere Kommentare anzeigen
Hello guys, if I have a 3D graph what I can do to measure the high of the graphic. Here's the graphic that I mean..

Antworten (1)
Arthur Roué
am 16 Jul. 2020
Bearbeitet: Arthur Roué
am 16 Jul. 2020
You can look for the surface handle in the axis children.
% Get current axe handle
hAxe = gca;
% Look for surface handle
vb = isa(hAxe.Children, 'matlab.graphics.chart.primitive.Surface')
hSurface = hAxe.Children(vb)
% Get values in surface properties
hSurface.XData
hSurface.YData
hSurface.ZData
EDIT : I assumed there is only one surface in this plot
18 Kommentare
agung pratama
am 20 Jul. 2020
Arthur Roué
am 20 Jul. 2020
You're welcome ! I answered your original question, can you accept it and post another one for this new one.?
Walter Roberson
am 20 Jul. 2020
It is not clear how u/pixel relates to the XData, YData, or ZData coordinates. Is height/mm the ZData ? The graphic we are shown only apperas to have one surface, so it is not clear where the second output of the 2D plot would come from.
agung pratama
am 21 Jul. 2020
Walter Roberson
am 21 Jul. 2020
You have three independent variables (x y, z) and one dependent variable (color)
You appear to want an output plot with one independent variable and one dependent variable. How do you want to synthesize the one independent variable from the four variables, and how do you want to synthesize the dependent variable from the four?
agung pratama
am 21 Jul. 2020
Walter Roberson
am 21 Jul. 2020
is the input an rgb image or is it a surface plot?
your x and y axes are not labeled so I don't know what is being plotted
agung pratama
am 21 Jul. 2020
Bearbeitet: agung pratama
am 21 Jul. 2020
Walter Roberson
am 21 Jul. 2020
If all you have is a single rgb image then you cannot measure height in most cases. See for example https://thevortexrug.com/ which is flat rugs that appear to have significant depth.
agung pratama
am 22 Jul. 2020
Walter Roberson
am 22 Jul. 2020
You need a stereo image pair with calibrated cameras.
Or the image has to have a reference pattern built into it, in which case an exact measurement is likely not possible but a range might be possible.
A reference pattern could, for example, be an equal-spaced grid of vertical lines being projected parallel to the table, so that you could bracket the actual height by counting the number of lines that appear on the object.
agung pratama
am 23 Jul. 2020
Walter Roberson
am 23 Jul. 2020
A sample image would help, along with any necessary key information (such as distance between fringes, and any information about the coding of the light pattern.)
agung pratama
am 23 Jul. 2020
Bearbeitet: agung pratama
am 23 Jul. 2020
Bruno Luong
am 23 Jul. 2020
Bearbeitet: Bruno Luong
am 23 Jul. 2020
If you have a fringe image then the unit of z axis is radian (phase angle) The bottom image is unwrapping of the first, the height is
h = (max(phi(:))-min(phi(:)))*lambda/(4*pi)
phi is unwrapped angle image (bottom), lambda is the wavelength of what ever wave used to measure this interference pattern. Due to the noise, you have to filter the image data, or perhaps use histogram to compute (max(phi)-min(phi)) that least affected by the noise.
agung pratama
am 23 Jul. 2020
Bruno Luong
am 23 Jul. 2020
Sorry I won't, since depends where you start at (type of image data, and you never explain us clearly what is it, your gave a color map, then a bananas, something about RGB, then a curve, then a fringe signal) and there might be many step more or less complex and requires some skill (for example compute the phase phi) to arrive at the heigh from the rawdata image of your fringes.
I gave you a general steps that must be carried out. If it's not clear, you should teach yourself or ask questions to your advisor, or whom ever gave you the task.
agung pratama
am 23 Jul. 2020
Kategorien
Mehr zu Image Processing and Computer Vision finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



