cvReprojectImageTo3D和CV_32FC3的问题

时间:2012-05-31 13:06:41

标签: opencv camera-calibration stereo-3d 3d-reconstruction disparity-mapping

我需要你的帮助。我已经实现了立体声校准,使用我的立体声对进行整流。我有一个非常合理的视差图像。我面临的问题是cvReprojectImageTo3D。我使用了stereobM。并以正确的方式纠正。  声明如下

 CvMat* disp = cvCreateMat( imageSize.height, imageSize.width, CV_16S );
 CvMat* vdisp = cvCreateMat( imageSize.height,imageSize.width, CV_8U );
 CvMat* Image3D = cvCreateMat(imageSize.height, imageSize.width, CV_32FC3);   

disp是为立体声对获得的视差图像。当我运行Image3D的showimage命令时,我获得了多彩的分割。我怀疑是这样的原因。我附上结果的链接
     照片如下:

https://plus.google.com/photos/110965556771924534380/albums/5745356738809417329/5748680803335389906

我的另一个疑问是这个image3D是如何存储的。 CV_32FC3是否意味着第一个通道给出x值第二个给出y而第三个给出z或者排序或是否有任何其他表示...?

2 个答案:

答案 0 :(得分:1)

是,“输出与视差大小相同的3通道浮点图像._3dImage(x,y)的每个元素包含从视差图计算的点(x,y)的3D坐标。” p>

所以它是在每个像素坐标处浮动指向x,y,z

请参阅http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html

答案 1 :(得分:0)

你尝试过像

这样的事吗?

cvSave(“depthmeasure.txt”,Image3D);