opencv - 如何获得图像中两点之间的真实距离?

标签 opencv

嗨,我正在使用opencv来检测帧中的两个对象并以像素为单位计算它们之间的距离,但是我需要以米为单位来计算它们之间的距离。

最佳答案

通常这是不可能的:从单个图像中,重建的3d点的比例是未知的。

您可以选择

  • 添加更多 View ,并使用立体视觉算法计算深度。
  • 使用有关对象大小的知识来确定距离。

  • 编辑

    给定深度z,相机校准矩阵K和图像点x,我们可以得到相应的3D点X:
    X = z * inv(K) * x
    

    x在同质坐标中。

    当在对象上有两个3D点时,计算距离很简单。

    关于opencv - 如何获得图像中两点之间的真实距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28986749/

    相关文章:

    cvShowImage使系统抛出异常

    python - OpenCV 将 3d lut (.cube) 应用于图像

    python - 如何提高 OpenCV cv2.VideoCapture(0).read() 的性能

    java - OpenCV Android,绘制最大轮廓,出现问题

    python - python中imread的相对路径

    python - 在 python 中使用线程运行无限循环

    c++ - OpenCV 处理 - 边缘检测和裁剪

    c++ - 在openCV中访问特定像素的强度值(灰度图像)

    python-3.x - 如何在Python中使用Gtk中的OpenCV画图

    c++ - OpenCV 如何输入 RGB 图像