Question

I'm trying to learn OpenCV. I've a question regarding homography and epipolar geometry.

Suppose I've calculated homography using cvFindHomography() function using two static images' matched feature points taken with two cameras from two different view points.

Is it wrong if I reuse homography matrix to detect corresponding points in camera 1(right) from the image taken by camera2(left)(because I know that x' = H.x where x' is left images' 2d homogenous feature point, x is right images' 2d corresponding homogenous feature point and H is homography matrix) where the 2d points in camera1 and camera2 were not used to calculate homography matrix?

What I mean to ask is can I reuse calculated homography matrix of those two cameras to find corresponding points for any images that is not used to calculate homography matrix?

Does it matter which image I use when it was once determined by fixed images? or do i need to calculate it every time?

Was it helpful?

Solution

You can use homography to project points from one image to another as long as cameras don't move anymore and the scene doesn't change.

I understand that those cameras (calibrated) take the pictures and then you work with those two pictures all the time. Allright, if you calculate homography, then you can project all the points you want from both images. You will get some error, of course, but this is due to noise in the images and non-linearities that affect to linear method used by findhomography.

If you keep capturing images with the cameras then you have to compute homography again for every new pair of images, because you don't know a priori how the scene will change.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top