深度指向云

时间:2016-09-13 10:47:54

标签: c++ opencv type-conversion point-cloud-library depth-buffer

我尝试从深度视频帧创建点云,其像素值介于0到4500之间(从kinect v2录制)。 所以,如果我cout << depth,我可以看到这些价值观。 现在我尝试使用带有

的PCL创建点云
 for (int y = 0; y < depthImageSize.height; ++y)
    {
        for (int x = 0; x < depthImageSize.width; ++x)
        {
            pcl::PointXYZRGBA &pt = result->at(x, y);

            float depthValue = (float) depth.at<float>(y, x);

            pt.x = (static_cast<float>(x) - centerX) * scaleFactorX * depthValue;
            pt.y = (centerY - static_cast<float>(y)) * scaleFactorY * depthValue;
            pt.z = depthValue;
         }
    }

在研究过程中,我发现这种深度可以指向云转换。 (float) depth.at<float>(y, x);的浮点转换不会导致0到4500之间的相同值,但会产生-6.54209e + 35,1.82232e-40或-nan等值。

知道转换失败的原因吗?

0 个答案:

没有答案