【问题标题】:Where the origin of the camera system really is?相机系统的真正起源在哪里?
【发布时间】:2018-07-19 22:07:48
【问题描述】:

当我们计算相机相对于标记或 3D 模型等图元的位姿时,该图元的原点通常可以精确地知道,如棋盘或标记的原点(蓝色)。

现在的问题是相机的原点(黑色)在哪里?姿势的矢量平移是相对于哪个参考来表达的?我们如何确定它在哪里?

【问题讨论】:

  • 相机原点(投影中心)始终位于 (0,0,0),除非您使用外部相机参数选择不同的位置。根据您的内在相机参数,图像本身被“放置”在投影中心的前面。
  • @Micka 是的,但我的问题是现实世界中的真正起源在哪里
  • 现实世界中没有起源,你可以选择它。默认情况下,相机中心位于原点,因此真实世界的原点是您的相机投影中心所在的位置,除非您选择了一些相机外在。
  • 那么你的相机投影中心在哪里:)
  • 取决于相机的内在参数

标签: opencv image-processing computer-vision camera-calibration


【解决方案1】:

光学中心是指在光轴上(理想情况下它投影到图像的中心),距离传感器的距离等于焦距,可以用像素单位表示(知道像素大小)。

你可以看到光轴在哪里(它是镜头的对称轴),但光心在相机内部的某个地方。

【讨论】:

  • 传感器在哪里?那么为什么我们永远不知道光学中心在哪里呢?
  • @Ja_cpp:实际上有两个中心。一个在物体空间,一个在图像空间。后者与传感器的距离为 f;前者位于镜头之间,但您不知道确切的位置,当您重新对焦时它会移动。
  • 那些中心叫什么?你的回答很有趣,你有参考或数字来形象化吗?因为你我对所有的词汇有点迷失
  • 这看起来比我想象的要困难,我会尝试深入挖掘以了解更多它是如何工作的
【解决方案2】:

OpenCV 使用pinhole camera model 对相机建模。 OpenCV 中用于相机校准和其他目的的 3D 坐标系的原点是相机本身,或者更具体地说,是相机模型的针孔。它是所有进入相机的光线会聚到一点的点,也称为“投影中心”。

带镜头的真实相机实际上没有针孔。但是通过分析用相机拍摄的图像,可以计算出一个针孔模型,该模型非常接近地模拟了真实相机的光学元件。这就是 OpenCV 在校准相机时所做的事情。正如@Yves Daoust 所说,这个模型的针孔(以及因此的 3D 坐标原点)将是相机内部某处的 3D 点(或者可能在它后面,取决于它的焦距),但 OpenCV 不可能说它与您的相机机身的确切位置,因为 OpenCV 对您的相机或其传感器的物理尺寸或形状一无所知。

即使您确切知道原点相对于相机机身的位置,它也可能没有多大用处,因为您无法对位于相机内部的点进行任何物理测量而不采取它分开!真的,你可以在不知道这些细节的情况下在 OpenCV 中做所有你需要做的事情。

【讨论】:

  • 我们必须同意不同意 :-) OpenCV 可以告诉您 AR 标记相对于您的相机的姿势;相机的姿势只是该变换的倒数。如果您知道标记在物理世界中的坐标和方向(在某些坐标系中),则可以连接变换以使您的相机姿势在同一坐标系中。
  • 好吧,这不是我的意思。我知道这些姿势相当于相机到标记或标记到相机,但我的分歧在于相机参考以及问题在物理世界中的确切位置全员参与
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多