3D reconstruction of points from three views - is there a 3 camera alternative to triangulate?

Hi everybody,
I have three sets of x,y data, taken from an object tracked as it moves through three dimensions and taken by three different cameras.
I have the camera parameters and matrices, I can calibrate the images etc and have even been able to fully reconstruct a 3D point cloud based on two cameras, using the Matlab 'triangulate' function. But I was wondering if there is some Matlab function or code that can accept more than two cameras/views? I would like to be able to use the information from all three cameras...
Thanks very much for any help,
Rod.

 Réponse acceptée

Dima Lisin
Dima Lisin le 4 Déc 2015
Modifié(e) : Dima Lisin le 16 Mar 2016
The triangulate function can only handle two views. However, the algorithm that it uses can be easily extended to multiple views. Please see Multiple View Geometry in Computer Vision by Harley and Zisserman for details.
Edit: As of release R2016a you can use triangulateMultiview to do 3D reconstruction from any number of views.

6 commentaires

This is the answer most people give, but how easy is it really? I don't understand the algorithms from reading the paper. If it was easy why does the Matlab function triangulate not accept more than two views? And why does it seem like nobody has successfully done it?
"If it was easy why does the Matlab function triangulate not accept more than two views?"
Because it takes time and money to develop code and test it to the standards suitable for release in a toolbox? And that considering limitations on time and funds and available people, the product manager needs to make decisions about prioritization of new features?
I've edited the answer. There is now a function called triangluateMultiview.
Kyle
Kyle le 5 Fév 2017
Modifié(e) : Kyle le 5 Fév 2017
The triangulateMultiview and bundleAdjustment functions both only accept a single camera parameters input; therefore does each view need to come from the same camera? Is it not possible to use multiple views from different cameras (i.e., independent camera parameters for each view)?
I also faced this problem.
Multivew stereo function should have different camera parameters on each view.
This internal function can be reconstructed from multiple points.
worldPoints = vision.internal.triangulateMultiViewPoints(pointTracks, cameraMatrices)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by