From the [documentation] you see that:
C++: void reprojectImageTo3D(InputArray disparity, OutputArray _3dImage, InputArray Q, bool handleMissingValues=false, int ddepth=-1 )
_3dImage – Output 3-channel floating-point image of the same size as disparity . Each element of _3dImage(x,y) contains 3D coordinates of the point (x,y) computed from the disparity map.
So your new3d
matrix is a 3 channel floating point, i.e. CV_32FC3
.
You can access its values like:
for(int r=0; r<new3d.rows; ++r)
{
for(int c=0; c<new3d.cols; ++c)
{
Vec3f point = new3d.at<Vec3f>(r,c);
// x = point[0];
// y = point[1];
// z = point[2];
std::cout << point << std::endl;
}
}