MATLAB Answers

image height

Latest activity Commented on by Image Analyst
on 9 Jan 2014
 can we able to measure the height of a person by taking his image and  processing through MATLAB.


3 Answers

Answer by Image Analyst
on 12 May 2012
 Accepted answer

Yes, if you know how many pixels correspond to an inch or centimeter, which you can know if you've imaged an object of known height first.


Thanks Image Analyst. impixelinfo command will gives the info about pixels.
But, how to calculate how many pixels for 1 cm

Walter Roberson
on 12 May 2012

The number of pixels per cm must be known by external information, or you must image an item of known height and measure the number of pixels it occupies in the image.

Caution: measuring an item of known height only works if the people are always at exactly the same distance from the camera. If they are variable distances but each distance is known then you can adjust using trigonometry, but if you do not know the height and you do not know the distance from the camera then you cannot calculate the height.

Image Analyst
on 12 May 2012

Siva, you can use improfile() or ginput(2) to click two points on the image. Calculate the distance in pixels and call it pixelDistance. Then use inputdlg() to ask the user how many inches or centimeters that distance is, call that number realWorldDistance. Then you can calculate
calibrationFactor = realWorldDistance / pixelDistance;
Then whenever you have a pixel distance, multiply it by calibrationFactor to get the distance in real world units, or multiply by calibrationFactor^2 to get an area in real world units.

Thanks image analyst and Walter..

I have one more doubts.

1. whats the unit of Euclidean distance.


Jakob Sørensen on 12 May 2012

Standard SI unit would be meters. But depends on what units you use to calculate it...

Walter Roberson
on 12 May 2012

If A and B are in unit U, then A^2 and B^2 would be in unit U^2, and so A^2+B^2 would be in unit U^2, and sqrt(A^2+B^2) would be in unit sqrt(U^2) which would be unit U.

Thus, as long as the units of the components are the same, the Euclidean distance will be in the same unit as the components are.

Answer by sara
on 9 Jan 2014

How do I measure a distance in real world with a picture in matlab?

  1 Comment

Image Analyst
on 9 Jan 2014

See my demo, attached.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!