3D graphic plot
이전 댓글 표시
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..

답변 (1개)
Arthur Roué
2020년 7월 16일
편집: Arthur Roué
2020년 7월 16일
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
agung pratama
2020년 7월 20일
Arthur Roué
2020년 7월 20일
You're welcome ! I answered your original question, can you accept it and post another one for this new one.?
Walter Roberson
2020년 7월 20일
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
2020년 7월 21일
Walter Roberson
2020년 7월 21일
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
2020년 7월 21일
Walter Roberson
2020년 7월 21일
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
2020년 7월 21일
편집: agung pratama
2020년 7월 21일
Walter Roberson
2020년 7월 21일
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
2020년 7월 22일
Walter Roberson
2020년 7월 22일
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
2020년 7월 23일
Walter Roberson
2020년 7월 23일
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
2020년 7월 23일
편집: agung pratama
2020년 7월 23일
Bruno Luong
2020년 7월 23일
편집: Bruno Luong
2020년 7월 23일
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
2020년 7월 23일
Bruno Luong
2020년 7월 23일
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
2020년 7월 23일
카테고리
도움말 센터 및 File Exchange에서 Image Processing and Computer Vision에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



