Homography and affinity transformation

Hi, I'm new to computer vision, and I want to know what exactly is the difference between homography and affine transformation if you want to find a translation between two images that you would use and why ?. From the articles and definitions that I found on the Internet, I have not yet found the difference between them and where one is used instead of the other.

Thank you for your help.

+6
source share
2 answers

I installed it in non-professional terms.

homography

Homography is a matrix that maps a given set of points in one image to the corresponding set of points in another image.

Homography is a 3x3 matrix that maps each point of the first image to the corresponding point of the second image. See below, where H is the homography matrix calculated for the points x1, y1 and x2, y2

enter image description here

Consider the points of the images below:

enter image description here

enter image description here

In the above case, there are 4 homography matrices.

Where is it used?

  • You might want to align the images above. You can do this using homography.

enter image description here

Here the second image is displayed relative to the first

  1. Another app Panoramic Stitch

Visit THIS BLOG for more

Affine transformation

Affine transformation creates a matrix for transforming the image with respect to the entire image. He does not consider some points, as is the case with homography.

Consequently, in an affine transformation, parallelism strings are always preserved (as mentioned in EdChum).

Where is it used?

It is used in areas where you want to change the whole image:

  • Rotation (self-understanding)
  • Translation (shifting the entire image by a certain length either up / down or left / right)
  • Scaling (this is basically a reduction or bloat of the image).

See THIS PAGE for more

+2
source

A picture is worth a thousand words: enter image description here

+3
source

Source: https://habr.com/ru/post/1015440/


All Articles