2
votes

I have a three feature points in an image and their matches in another image.

My question is how to find a homography that relates these matches to each other? I know I should solve P3P problem.But I don't know how exactly normalize point sets to this end. After solving P3P how should I get Homography matrix.

Suppose my camera Intrinsic parameters are known. After that I want to compute 6DOF rigid transform and map every arbitrary points in Image 1 to Image 2.

It's worth mentioning that I don't want to use OpenCV native function like cv::findHomography()

I'd be grateful If you reply clear and complete. Because I followed the instruction from here and here but did not get a correct solution.

1

1 Answers

0
votes

I assume you are referring to transformation. If that is the case, see below.

One can find the rotation (R) and (t) from object (target board) to cmaera coordinate system using solvePnP. Based on this idea, R1, t1 and R2, t2 can be found for images 1 and 2 respectively. One can compute the relative transformation (from image 2 to image 1) as follows.

Relative Rotation = inv(R1) * R2 Relative Translation = inv(R1) * (t2 - t1)