I am trying to estimate the magnification factor of a camera for research purposes and I am running into a few issues. It would be great if someone could help me understand what's going on here. I have tried various questions in this forum on the same topic. But somehow could not find the answers to the specific questions that I am interested in.

  1. I have an object of known dimension, say 5cm.
  2. I captured the image of the object in various positions.
  3. I then compute how many pixels it corresponds to in the image (say 10 pixels).
  4. I estimate the magnification factor as 5/10 (what 1 pixel corresponds to) 0.5.

The issue is that when I try to image the object in various positions, it corresponds to different number of pixels (varies from 9 to 11). This gives me a different MF in different positions. I assume this is due to perspective.


  1. Am I right in assuming this is due to perspective? Ideally the MF must be constant wherever I place the object in the scene.

  2. Is there an alternative to the method described above?


2 Answers 2


You're dealing with aliasing. Your method is correct (yes, you can judge magnification by the number of pixels the subject takes on the sensor if of course the manufacturer specs are all correct), but in the specific case the measures will be off because you're lacking precision. Imagine that the subject is projected onto 10.5 pixels, but it's seen as taking up 10 pixels - here's an error of 5 %. Whether or not this is critical is up to you.

  • \$\begingroup\$ I think it might be likely that the object being photographed covers much more than 10 pixels. 10 pixels was just an example given. If the object covers 1000 pixels, the effect you mentioned is diminished. \$\endgroup\$ Commented Oct 24, 2016 at 21:13

Why not use optical formulas to determine the magnification factor?

If the dimension of the object's breadth is known: Pretend 50mm.

Accurately measure object distance; pretend in this case it is 400mm. Now draw imaginary lines from the ends of the object back to the center of the lens.

These lines trace out a triangle. The base of this triangle is the subject’s dimension. The distance object to lens is the height of this triangle.

Now computer the ratio :

Actual size ÷ Subject distance. 50mm ÷ 400 = 0.125

Now the camera lens projects an image of this object on the image seniors. The image forming rays trace out a similar triangle. The height of this triangle is the focal length of the lens. The base of this triangle is the unknown image dimension. Now we have all the facts needed to calculate the unknown image size. Presume a 100mm is mounted.

Thus: 100mm is the height of the image triangle. The base of this triangle is the unknown image size.

Ratio to the rescue: The unknown dimension is 100 X 0.125 = 12.5 The span of the projected image is 12.5mm

The magnification = projected ÷ actual M = 12.5 ÷ 50 = 0.25 (can be stated as ¼ actual size).

Now that you know the magnification, you can calculate how many pixels the object’s image overlays.

  • \$\begingroup\$ "Now draw imaginary lines from the ends of the object back to the center of the lens" It's kind of ambiguous where the center of the lens is, no? What defines the center of the lens? \$\endgroup\$ Commented Oct 24, 2016 at 21:12
  • \$\begingroup\$ @ Jordan -- I am citing the center on the front element's surface. I understand that the front nodal is the better location. The problem is, finding the front and rear nodes is likely impossible without an optical bench. The real question is; what would be the accuracy gain? Answer – not much! I did give this a thought when I wrote my answer. \$\endgroup\$ Commented Oct 25, 2016 at 4:32

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.