opencv - 给定点的世界坐标(在二维图像平面位置和深度值中),我该如何导出?

标签 opencv graphics

我有以下数据:

  • 相机矩阵
  • 特征在我的图像平面中的2d位置
  • 与我的功能相关联的
  • 深度图值

    我的问题是,如何得出要素的对象/世界坐标?

  • 最佳答案

    相机矩阵为:

    [[fx 0  cx]
     [0  fy cy]
     [0  0  1 ]]
    

    其中fxfy是以像素为单位的焦距。由于fxfy以像素为单位,因此您可以使用相似的三角形来获取xy坐标:
    x / z = (x_pixel - cx) / fx
    y / z = (y_pixel - cy) / fy
    

    要么
    x = (x_pixel - cx)/fx * z
    y = (y_pixel - cy)/fy * z
    

    您可能必须乘以-1,具体取决于坐标系的定义方式。

    关于opencv - 给定点的世界坐标(在二维图像平面位置和深度值中),我该如何导出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31838987/

    相关文章:

    opencv - 在VS2013上编译openCV时没有生成.pdb文件

    c++ - OpenCV 图像减法

    c# - 我想强制渲染,但尽可能快地绘制 (InvalidateVisual/CompositionTarget.Rendering)

    使用 cairo 绘制点时剪裁

    c++ - 如何改善我的文件写入方法以减小Wavefront Object文件的大小?

    c++ - OpenGL 新手,正在处理 "paint"程序

    c++ - OpenCV c++ 找不到 <opencv2/face.hpp>

    opencv - opencv上的直方图

    python - 如何应用适当的阈值以去除二元板上的边缘

    java - Java中的四叉 TreeMap 形显示