1
\$\begingroup\$

I have an image of a person standing next to a tree. The person has a known height (1.8m). I want to estimate the tree height using the pixel ratio of the person to the tree.

I have previously done so using an online web app. The app required dragging a line to define the person (reference) height followed by the height in metres. Then a second line would define the tree height and it would output the units in metres.

Can someone recommend a solution to this (or send the link for the app which I can't find)?

\$\endgroup\$
1

3 Answers 3

3
\$\begingroup\$

With Gimp you can define the image definition to about any arbitrary value, and the measure tool can display measure in the corresponding physical units. For instance in this picture the woman is about 404px high.

enter image description here

If we assume that in real life she is 1.60m the print definition is 404÷1.6=252.5 pixel per metre. Using Image > Print size you can set this new definition, and you can even have Gimp do the computation for you:

enter image description here

Once this is done you change the units in the indicator at the bottom and any thing you measure will be displayed directly in that unit. For instance the tree diameter is about 2.02m:

enter image description here

However, if this is valid in a few easy cases such as this one (everything nicely vertical and tree at about the same distance as the person), in most photos you will have perspective distortions that make such measurements quite impractical and inaccurate. In fact in the measure above the three is at an angle, so the 2.02m are wrong, they are the measure of the projection of the tree on the photography plane and the tree is likely somewhat bigger. In this case a better measure is along a vertical:

enter image description here

But not all pictures are that easy...

\$\endgroup\$
3
\$\begingroup\$

I would just use a ruler...

Scale (zoom) the image on your screen so that the person is a simple ruler measurement tall, like 1 inch... the scale of the image is now set as 1in = 1.8m. Then measure the tree, and say it measures 5 inches... the tree is then 5 x 1.8m = 9m tall.

Or, there's an app for that: https://www.blocklayer.com/scale-fixereng.aspx

\$\endgroup\$
1
1
\$\begingroup\$

If the reference object is the same distance as the unknown object, then it's simple ratios.

(HR in pixels) / (HR in metres) = (HU in pixels) / (HU in metres)

Where:
HR is the height of the reference
HU is the height of the unknown

Example:
If your reference (person) is 400 pixels tall and 1.8m tall
and your unknown (tree) is 900 pixels tall

Then:
400 / 1.8 = 900 / x
x = 1.8 * 900 / 400 = 4.05 metres
Thus, the tree is 4.05 metres tall.

Of course, you'll need a program to measure pixel dimensions which are plentiful (my favorite being Meazure).

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.