【问题标题】:How to change 3 meter to pixel distance?如何将3米更改为像素距离?
【发布时间】:2011-07-03 18:24:52
【问题描述】:

我有一个 3D 对象,我需要将它相对于 2D 图像进行投影,该图像是用相机在 3m 外拍摄的。当我试图制作一个投影矩阵时,我发现我需要说明相机距离物体的位置(3m)和相机在地面上方的高度(1m)。因此,我需要将这些以米为单位的值更改为像素,以便它们可以在投影矩阵中使用。

我需要在 Matlab 中进行计算。有什么指点吗?

【问题讨论】:

  • 如果我正确理解了您的问题,您可能想澄清一下您是在谈论分析图像,而不是针对输出设备调整图像大小。您需要知道图像的像素比例(每像素的度数)、物体和相机之间的距离(给出物体所对的角度)以及物体的方向,如果不是平行测量的话图像平面。
  • @Amr Ramadan:也许你应该解释一下你的转换目标是什么......
  • 我同意吉姆的观点,你需要更具体一些。如果您谈论的是相机拍摄的图像,您将进入一个非常具有挑战性的主题。将真实坐标与像素转换为/从像素转换的相机校准可能会很痛苦。
  • 我需要对 3D 模型进行投影,并且需要确定 3D 对象在 Z 轴、X 和 y = 0 上远离相机(3 米)的平移矩阵的值所以我需要将 3 米更改为像素单位 :) 以用于计算
  • 请注意提前提出问题的重要性;现在给出了三个答案,但没有一个人猜对了你的意图。 :) 请阅读tinyurl.com/so-hints 获取有关如何编写好问题的一些建议。谢谢!

标签: matlab graphics image-processing computer-vision


【解决方案1】:

get(0,'ScreenPixelsPerInch')

为您提供昆汀解决方案中缺少的成分。

【讨论】:

    【解决方案2】:

    1 米 = 39.3700787 英寸所以dpi * distance_in_meters / 39.3700787

    显然您需要知道输出设备的 DPI。

    【讨论】:

    • 这仅适用于扫描仪。对于使用镜头(如相机)的成像设备,dpi 是无用的度量。
    • 在最初的问题中,没有人提到镜头或相机。对昆汀和我来说,这是一个关于屏幕上片段长度的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 2011-05-05
    • 2011-11-15
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多