MATLAB - Going from a disparity map to point cloud from stereo images on HELP!

8 visualizaciones (últimos 30 días)
Hi all, I need help with my stereoscopic 3-D reconstruction project, I'm currently stuck on the reconstructing a 3-D point cloud part. I have been given a pair of stereo images of the back of an eye, and I need to produce a 3D point cloud from them, I have got up to the disparity map, not sure if its optimal?
Here is what I've done so far:

Respuestas (2)

Gautham Sholingar
Gautham Sholingar el 16 de Mayo de 2017
Another possible way to approach this problem is to use the following function from the Computer Vision System Toolbox which allows you to create a real-world 3D co-ordinate model from the disparity data:
As far as being optimal, you will need to explain what optimal means and evaluate this yourself. Try comparing the derived point-cloud to an expected model and see if this helps you evaluate the result.
  2 comentarios
Haseeb Majid
Haseeb Majid el 21 de Mayo de 2017
I have that toolbox installed, but how would I produce a point cloud from that disparity map?
UBAID ULLAH
UBAID ULLAH el 15 de Mzo. de 2018
I am running your code but i am getting a error. can you help me to solve it.
Error using zeros Requested 55033x54541 (11.2GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information.
Error in cvalgMatchFeatures>metricSSD (line 507) scores = zeros(N1, N2, outputClass);
Error in cvalgMatchFeatures>exhaustiveDistanceMetrics (line 186) scores = metricSSD(features1, features2, N1, N2, outputClass);
Error in cvalgMatchFeatures>findMatchesExhaustive (line 137) scores = exhaustiveDistanceMetrics(features1, features2, N1, N2, outputClass, metric);
Error in cvalgMatchFeatures (line 52) [indexPairs, matchMetric] = findMatchesExhaustive(features1,features2, ...
Error in matchFeatures (line 177) cvalgMatchFeatures(features1, features2, ...
Error in disparitymap (line 23) indexPairs = matchFeatures(features1, features2);
this was the error

Iniciar sesión para comentar.


Munin
Munin el 3 de Sept. de 2021
@Hanieh Shabanian @Haseeb Majid the solution is simple:
disparityMap(disparityMap > 12) = 0;

Community Treasure Hunt

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

Start Hunting!

Translated by