0
获得3D点所以我计算2个立体图像之间的差异(左,右)。它看起来是正确的 (因为它的形状与原始图像有点类似)。经过这一点,我使用的线路: -错误的差距
cvReprojectImageTo3D(&disparity, threeDimage, &Q);
并获得threeDimage.It的答案是一个矩阵,我访问它: -
for(int ii=0;ii<threeDimage->rows;ii++)
{
float *data = (float *)(threeDimage->data.ptr + ii * threeDimage->step);
for(int jj=0;jj<threeDimage->cols*3;jj=jj+3)
{
float a=data[jj];
float b=data[jj+1];
float c=data[jj+2];
fprintf(fpp,"%f %f %f \n", a,b,c);
}
}
但问题是,它似乎没有给我一个正确的answer.I得到很多在我的文件中重复的值。关于可能出错的任何提示?是否是遍历?矩阵的正确性?
那么我想重建一个脸,是最形象的中央部分的似乎相同的灰色但我认为差距图是正确的(我可以看到脸的轮廓)?我怎样才能改进它以获得更明智的三维云。我使用一些最新的算法来生成视差图。 – Manish 2011-03-13 19:08:18
等等,所以图像中有不同颜色的补丁,但它像一切都显示在一行!这是完全奇怪的,并使我认为重投影部分可能有问题。 – Manish 2011-03-13 19:28:57