Recitfy Images before triangulate points

Hello, I have a question regarding the new triangulate function. I have 2 almost parallel cameras and would like to run a triangulation of certain points in the image. Do i have to rectify these images before extracting the matching points or do I extract the points of the original image?
Thank you

 Accepted Answer

Joep
Joep on 3 Jul 2015
Edited: Joep on 3 Jul 2015
The matlab function uses the cameramatrix and undistorted images. So you should not use both of the image. You should create first a undistorted image.
uImage1 = undistortImage(Image1,stereoParams.CameraParameters1);
uImage2 = undistortImage(Image2,stereoParams.CameraParameters2);
point3d = triangulate(pointImage1, pointImage2, stereoParams);

6 Comments

So before using the triangulate.m function i need to use rectifystereoimages.m from the computer vision toolbox?
Sorry i was wrong about that i changed my comment. A example is explained here: http://nl.mathworks.com/help/vision/ref/triangulate.html
Thank you! the triangulate function rectifies the images internally.
I guess so because you expect that you should rectify, to make the epipolar lines parrellel. So you can use triangulate but in example they don't rectify so I assume it is in the function it self indeed.
You should undistort the images before using triangulate, but you should not rectify them. The triangulate function uses the linear triangulation algorithm from Hartley and Zisserman, which does not require the images to be rectified.
Hi Dima Lisin,
I' m very interested in your comment. Could you explain me how the triangulation is possible without a rectification procedure? Does it follow that every stereo configuration would be possible to reconstruct 3D points?

Sign in to comment.

More Answers (0)

Asked:

on 3 Jul 2015

Commented:

on 17 Nov 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!