computer vision-calculate fundamental matrix

来源:互联网 发布:ahc正品验证软件 编辑:程序博客网 时间:2024/06/05 04:13

If you are using one of the calibration images, then all the information you need is in thecameraParams object.

Let's say you are using calibration image 1, and let's call it I.First, undistort the image:

I = undistortImage(I, cameraParams);

Get the extrinsics (rotation and translation) for your image:

R = cameraParams.RotationMatrices(:,:,1);t = cameraParams.TranslationVectors(1, :);

Then combine rotation and translation into one matrix:

R(3, :) = t;

Now compute the homography between the checkerboard and the image plane:

H = R * cameraParams.IntrinsicMatrix;

Transform the image using the inverse of the homography:

J = imwarp(I, projective2d(inv(H)));imshow(J);

You should see a "bird's eye" view of the checkerboard. If you are not using one of the calibration images, then you can computeR and t using the extrinsics function.

Another way to do this is to use detectCheckerboardPoints and generateCheckerboardPoints, and then compute the homography using fitgeotform.

0 0
原创粉丝点击