Using findHomography to create 'fake' intrinsics?
I have two images from very different cameras.
cv::Mat CameraA is from a 16mm lens, and the resolution is 1920 * 1080
cv::Mat CameraB is from a 7mm lens, and the resolution is 1280 * 720
I have calibrated these, and used a chessboard with solvePnP to get poses.
Now, i want to pass these into a bundle adjustment function, using cvsba.
BUT, the function expects the same intrinsics from both cameras.
If I was to use findHomography to get an H matrix from the sets of 2d points, and then scale CameraA to match CameraB, would I then be able to use the intrinsics from CameraB for CameraA?
If not, is there a way to somehow 'normalise' intrinsics in this way?
Thank you.
I would try two things:
(x,y,z=1)
and pass identity camera matricesHi, thank you for getting back to me. Can you please explain the second option for me? How do I
compute the image coordinates in normalized camera coordinates
? Is an identity intrinsic matrix zeros, with1
forfx,fy,cx,cy
? Thanks!Is this the correct approach?
I think so.
To be sure, just project the undistorted point with the real camera intrinsics and you should get more or less your 2D image coordinates.