0

A friend sent me a picture of a desk he saw, and asked me if I could ascertain its dimensions based on the photograph.

Here's the image he sent me. He also told me that the main desk is 180x80cm and that the whole front of the desk together with the side part is 200cm. From this, by counting pixels I think I was able to "calculate" all the horizontal dimensions. Diagram here.

But for the vertical dimensions, I'm not sure how I'd do it since they're different distances from the observer. Any help?

Awn
  • 115
  • You can do this (assuming that what look like right angles in the picture really are right angles and not forced perspective), but it is a lot more complicated than counting pixels. Set up a coordinate system with the origin at one of the corners and the axes parallel to the sides. You need to identify where various points are. The desktop corners are given. Next, you figure out the camera direction from the apparent angles in the photograph, and the scaling. Then use that information to identify the other locations. – Paul Sinclair Feb 12 '17 at 22:51
  • If your friend is wanting this information for practical reasons (not just giving you a challenge), then tell him to contact the company and ask them. It would be tremendously easier. – Paul Sinclair Feb 12 '17 at 22:53
  • @PaulSinclair He did want the information for practical reasons but I think it'd be a nice challenge regardless. Setting up a coordinate system seems sensible, but I don't understand how I'd work out the position of the observer. – Awn Feb 13 '17 at 12:13

1 Answers1

0

From this, by counting pixels I think I was able to "calculate" all the horizontal dimensions.

As you have a projectively deformed image, I'd suggest you don't use mere pixel counts, but instead use cross ratios to measure distances in a projectively accurate way. See e.g. this post of mine for an example.

But for the vertical dimensions, I'm not sure how I'd do it since they're different distances from the observer.

This is indeed tricky, as I argues in a similar situation. At least if you start out with “the camera may cause any projective transformation”, then having measurements in a single plane, or even a family of parallel planes, tells you nothing about the directions outside that family of parallel planes.

In a real world scenario, you may be able to add additional assumptions, like e.g. assuming that the center of the picture coincides with the axis of the camera, and that the sensor in the camera was perpendicular to that axis. Neither of these is obviously true for professional photos, though. Personally I'd say you need at least one non-horizontal measurement.

MvG
  • 42,596