I am trying to implement visual odometry algorithm via matlab. According to step 2 in http://en.wikipedia.org/wiki/Visual_odometry. I need to do image correction before feature detection, matching and motion estimation. I think I need to undistort image like the function (here) in matlab. Can I use the original intrinsic and extrinsic parameter for motion estimation after matching the feature? I think the intrinsic parameter is for the distorted image.
I am confused that in the Camera Calibration Toolbox for Matlab. The intrinsic matrix can only turn the pixel back to distorted plane. If I do image correction first before feature detection according to step 2 in wiki. I think the original intrinsic matrix would cause some error.
Here are the steps you need to do:
The calibration you get include the 3x3 intrinsic matrix (K) of the undistorted image, as well as a vector of distortion coefficients.
Use K and the distortion coefficients to "undistort" the images.
Disclaimer. You can do VO without undistorting images, but depending on the degree of image distortion using the raw images might affect the feature/descriptor detector. It is also more work per iteration to map between distorted and undistorted
Good luck