0

任何人都可以帮助澄清以下描述,该描述取自 Savarese、Chen 和 Perona 的文章“镜面反射的局部形状”。

“设 c 为相机的投影中心。图像平面位于 c 前面 l 个距离单位,垂直于视图方向 v。给定一个场景点 p,让 q 是 p 在图像平面上观察到的图像,通过镜面在 r 处的镜面反射。"

  1. 据我了解,c、v 和 l 都是相机的属性,那么我怎样才能找到它们呢?
  2. 当 p 沿着场景平面移动时,q 和 r 的偏移分别是 c、v 和 l 常数,还是应该为每个点分别校准新的投影中心、图像平面和视图方向?

系统设置图:

4

1 回答 1

0

C 和 v 不是相机的内在属性,它们只是它的位置和方向。然而,l 是焦距,它是一个内在参数。内在和外在参数都可以通过校准程序恢复。如果您喜欢 matlab,请在 Google 上搜索 Jean-Yves Bouguet 的相机校准工具包。如果您更喜欢 C 或 C++,它也一直被移植到 OpenCV。

只有当相机相对于场景移动时,外部参数才会发生变化。如果镜头中的任何东西发生变化,例如通过重新聚焦或改变光圈(f-stop),内在的就会发生变化。两者都不会随着曝光时间而改变(它只影响到达传感器的光子数量)。

请注意,使用当今的镜头支架(螺丝、卡口)和传感器尺寸和分辨率(几十毫米和几百万像素) ,“移动”相机非常容易:只需触摸镜头通常就足以将其中心移动一个几个像素和它的轴由几分钟的弧。如果可重复性至关重要,您可能需要考虑获得特殊/定制的镜头支架和非常坚固的相机支架/支架。在任何情况下,您的软件都需要在小相机运动方面具有强大的功能

于 2012-07-08T21:55:14.593 回答