MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi
Opportunities for recent engineering grads.
can we able to measure the height of a person by taking his image and processing through MATLAB.
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.
Direct link to this comment:
Thanks Image Analyst. impixelinfo command will gives the info about pixels.
But, how to calculate how many pixels for 1 cm
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.
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.
Direct link to this answer:
Thanks image analyst and Walter..
I have one more doubts.
1. whats the unit of Euclidean distance.
Standard SI unit would be meters. But depends on what units you use to calculate it...
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.