Finding an affine transformation matrix

  • Thread starter chroot
  • Start date
  • #1
chroot
Staff Emeritus
Science Advisor
Gold Member
10,226
34

Main Question or Discussion Point

Hey guys,

I have a problem in a computer vision application that requires me to find an affine transformation matrix, A.

What I've got are four corners of a quadrilateral, in 2D coordinates on the image plane. These are the projections of the 3D corners of the real quadrilateral onto the image plane.

What I need to find is the 3D affine transformation matrix, A, which transforms the corners of a unit square into the given corners. If I can easily determine if such a transform does not exist, that information would also be useful.

Methods using homogeneous coordinates are fine, of course.

Anyone have any ideas?

- Warren
 

Answers and Replies

  • #2
mathwonk
Science Advisor
Homework Helper
10,761
932
if the corners of the image are A,B,C,D, lets translate back to the origin, by subtracting A from all of them.

Then A-A is at the origin, and we have three more points,oops. wait a minute, is this quadrilateral a parallelogram?

if not it seems hard to map a square onto it by an affine map. i.e. an affine map is just a translate of a linear map, and it seems a linear map must send a square to a parallelogram, no?

anyway, back to work: if we take two of the three translated corners say B-A, and C-A, we can make a matrix with those as columns.

then that matrix will send the unit square to the parallelogram spanned by 0 = A-A, B-A, and C-A. then translating back by A, will send the unit square to the parallelogram spanned by A,B,C.

but it might not send the 4th corner of the square to D, unless D-A = B-A + C-A, as vectors.

does this seem right?
 
  • #3
655
3
here is a counterexample:
img530.imageshack.us/img530/2964/notaffinert8.png
 
  • #4
Hurkyl
Staff Emeritus
Science Advisor
Gold Member
14,916
17
here is a counterexample:
img530.imageshack.us/img530/2964/notaffinert8.png
Affine transformations map lines to lines; yours isn't affine.
 
  • #5
Hurkyl
Staff Emeritus
Science Advisor
Gold Member
14,916
17
does this seem right?
Looks right to me; I got the same result (only works if the image is a parallelogram) in a different manner. Given two line segments lying on the same line, affine transformations preserve the ratio of their lengths. In particular, the diagonals of a square bisect each other -- and so that must also be true of its image, meaning it has to be a parallelogram.

In general, given the following information about a quadrilateral ABCD whose diagonals intersect at E:

. A
. B
. C
. AE / EC
. BE / ED

the point D is uniquely determined.
 
  • #6
655
3
Affine transformations map lines to lines; yours isn't affine.
thats why its a counterexample...
 

Related Threads for: Finding an affine transformation matrix

Replies
2
Views
2K
Replies
2
Views
1K
Replies
1
Views
2K
Replies
1
Views
665
Replies
7
Views
787
Replies
3
Views
2K
  • Last Post
Replies
6
Views
1K
Replies
2
Views
1K
Top