【问题标题】:Is there anyway I can get every color(rgb) image's pixel matching which depth(ir) image's pixel?无论如何我可以让每个颜色(rgb)图像的像素与哪个深度(ir)图像的像素匹配?
【发布时间】:2016-02-17 07:33:16
【问题描述】:

我使用 Kinect2.0。我已经得到了深度相机和彩色相机的内在参数,以及它们之间的外在参数。

现在我已经知道每个深度(ir)图像的像素匹配哪个颜色(rgb)图像的像素。

    for (int i = 0; i < 424; i++)
    {
        for (int j = 0; j < 512; j++)
        {
            fscanf(fp_dp, "%lf", &depthValue);

            if (depthValue == 0) continue;

            double Pir[3][1] = { j*depthValue, i*depthValue, depthValue };

            P_ir = Mat(3, 1, CV_64F, Pir);
            P_rgb = Mat(3, 1, CV_64F);
            P_rgb = Intrinsic_rgb*(R_ir2rgb*(Intrinsic_ir_inv*P_ir) + T_ir2rgb);

            int x = P_rgb.at<double>(0, 0) / depthValue;
            int y = P_rgb.at<double>(1, 0) / depthValue;
            //printf("(%d,%d)\n", x, y);

            if (x < 0 || y < 0 || x >= 1920 || y >= 1080)
            {
                continue;
            }
            img_mmap.at<Vec3b>(i, j)[0] = img_rgb.at<Vec3b>(y, x)[0];
            img_mmap.at<Vec3b>(i, j)[1] = img_rgb.at<Vec3b>(y, x)[1];
            img_mmap.at<Vec3b>(i, j)[2] = img_rgb.at<Vec3b>(y, x)[2];

            Color_depth[y][x] = depthValue;
        }
        fscanf(fp_dp, "\n");
    }
    fclose(fp_dp);
    imwrite(ir_name, img_mmap);

如您所见,我想获取彩色图像的深度数据。但是当我使用这种方法时。我刚得到 512x424 单位的数据。这不是 1920x1080。

那么当我已经得到两个相机的内在参数和它们之间的外在参数时,我是否可以知道每个颜色(rgb)图像的像素与哪个深度(ir)图像的像素匹配?

【问题讨论】:

  • 所以您扫描深度图像并转换为 RGB 以填充它?您必须做相反的事情:您从 RGB 网格坐标进行逆变换,并从深度图像中线性插值它的值。我想将深度图像存储为cv::Mat 并使用可用的变换函数是有意义的。 (不确定H_ir_inv 和其他人是什么)。
  • 谢谢,H_ir_inv 是深度相机内在参数的倒数。我已经使用插值。但我担心这不正确。所以我想知道每个颜色(rgb)图像的像素匹配哪个深度(ir)图像的像素。然后我可以通过匹配点,得到深度值。

标签: kinect camera-calibration


【解决方案1】:

使用MapColorFrameToDepthSpace

备注:

在调用此方法之前分配depthSpacePoints 数组。它 应该具有与颜色框架具有像素相同数量的元素 (1920 像素 x 1080 像素)。填充的 depthSpacePoints 数组中的每个条目 包含对应像素所属的深度点。

【讨论】:

  • 非常感谢,我知道了。 ^v^.
  • 如果有帮助,请点赞和正确回答标记。谢谢:)
  • 对不起,我没有 15 声望。
  • 我长大后会回来的,非常感谢。 ^V^.
  • 如你所说,我获得了 15 点声望。 0.0
猜你喜欢
  • 1970-01-01
  • 2016-08-21
  • 2020-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-18
  • 1970-01-01
  • 2014-12-01
相关资源
最近更新 更多