1

My goal is to create a single 3D point-cloud based on 2 pairs of images(AB, BC) and their projection matrices. Each image comes from the same camera (not video) with 3 distinct positions.

I use the "standard process": Point matching (sift or surf), keeping inliers only, finding the position, doing the bundle adjustment...images rectifications. Up to now everything works well.

Next I use the Matlab function "disparity" to create the 2 disparity maps, one for each pair of images. Next i create 2 separated 3dpoint-clouds, one for each pair of images, using the projection matrices.

But, how can i merge the 2 points clouds coming from AB and BC. Apparently, the 3D coordinates depends on the "DisparityRange" parameters of the function disparity.

Did i miss a step in the process ?

Thanks in advance for any help Alvaro

Dima
  • 38,860
  • 14
  • 75
  • 115
alvaro562003
  • 678
  • 1
  • 6
  • 27
  • You just said that you create 3D points! Why do you have questions of how to do it? Its not quiet clear. If you want to know the points in 3D with relistic units, you;d need the cameras extrinsic and intrinsic parameters. Else you can made them up – Ander Biguri Mar 04 '15 at 09:10
  • I can create point-cloud for each pair of image. But when i merged the 2 point-cloud the result is not good. – alvaro562003 Mar 04 '15 at 09:27
  • Which method do you use to create 3D points from the 2D? Have you had a look to this post: http://stackoverflow.com/questions/16295551/how-to-correctly-use-cvtriangulatepoints ? Mainly look the method used for getting the 3D poitns from 2D matched poitns and projection matrices – Ander Biguri Mar 04 '15 at 09:33
  • On Matlab i am using the vgg_X_from_xP_nonlin.m function. As input it takes the 2 projections matrices and the coordinates of the 2 points (one per image) . Estimation of 3D point from image matches and camera matrices, nonlinear. – alvaro562003 Mar 04 '15 at 09:58
  • I used the function vgg_X_from_xP_nonlin.m with another dense matching method and it worked very well. – alvaro562003 Mar 04 '15 at 10:18
  • So if the method works well for other images bot not for your images then: a) you are not calling it correctly b)your projection matrices are wrong c)your point matches are wrong. With the information your provided I have no idea of which of the three could be. – Ander Biguri Mar 04 '15 at 10:42

2 Answers2

0

Please see the answer on MATLAB Answers

Dima
  • 38,860
  • 14
  • 75
  • 115
0

Problem solved. The problem was that I processed wide-baseline stereo images as if they were short-baseline. Fatal Error!

alvaro562003
  • 678
  • 1
  • 6
  • 27