I can not find the material that will help me to implement the algorithm of coordinate transformation based on the distortion of the projection.

enter image description here

I am creating a code recognition algorithm (similar to qr-code). After recognizing the image I get the three points.

My problem that image have different projection distortion, size and angle.

How do I find the k point, knowing the coordinates of p1, p2, p3 with distortion and without distortion of the projections.

Help me to understand! Perhaps there are ready-made algorithms or literature that will help implement it.

It is very important for me. Thank you!


1 Answer 1


Unfortunately this is quick to answer: You can't from a single image.

To determine the intrinsic camera parameters (like lens distortion) you'll need at least a few pictures and more known points.

If you want to read more about it, Google for "camera calibration" or lookup how some libraries do that, e.g. OpenCV.

From a single image all you could get are extrinsic camera patterns (position and rotation), ignoring distortion. This would leave you with some error margin though. QR code fights this with some tricks, like knowing that the whole pattern has to be quadratic. This allows the Chevron of some distortions or simply ensure that they're not too significant.

  • \$\begingroup\$ After all, on the basis of the triangle, i can make a square? \$\endgroup\$
    – Qulery
    Commented Jun 3, 2016 at 6:32
  • \$\begingroup\$ @Qulery You'd need the fourth corner given, because with unknown distortion it could be anywhere. \$\endgroup\$
    – Mario
    Commented Jun 3, 2016 at 6:35
  • \$\begingroup\$ I can do so? swinechat.com/other/pre.png If I would have known 4 point, as I solve my problem? \$\endgroup\$
    – Qulery
    Commented Jun 3, 2016 at 6:39
  • \$\begingroup\$ @Qulery With four points you can estimate the distortion somewhat, but only if your looking inside the quad. Outside areas are still unknown to you. \$\endgroup\$
    – Mario
    Commented Jun 3, 2016 at 7:02
  • \$\begingroup\$ Why can not extrapolate the point? Enlarge square? :) \$\endgroup\$
    – Qulery
    Commented Jun 3, 2016 at 7:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .