所以我计算了 2 个立体图像(左右)之间的差异。它看起来是正确的(因为它的形状与原始图像有点相似)。之后我使用这条线:-
cvReprojectImageTo3D(&disparity, threeDimage, &Q);
并在threeDimage中获得答案。它是一个矩阵,我将其访问为:-
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);
}
}
但问题是它似乎没有给我一个正确的答案。我的文件中有很多重复的值。关于可能出现什么问题的任何提示?矩阵的遍历是否正确?