【问题标题】:How could I to transform a pixel from a camera image plane to another camera image plane?如何将像素从相机图像平面转换到另一个相机图像平面?
【发布时间】:2017-07-25 00:02:48
【问题描述】:

两个摄像头,在它们之间进行了校准,并获得了内在和外在矩阵,我能够获得第一个摄像头的 (U,V),我如何获得第二个摄像头的 (U,V)?可以进行什么样的改造? 摄像头位置固定

【问题讨论】:

  • 请更正您的问题。在您询问“转换”的问题主题中,但您的问题的详细信息表明您无法从第二个摄像头读取(U,V)数据,同时能够从第一个摄像头读取数据。
  • 是立体作业吗?您似乎有 2 个并行摄像头,对吗?
  • @zmechanic 我想要的是找到一种二维平面之间的转换方式
  • @smttsp 不,这不是家庭作业,这是我正在做的一个项目,我有两个平行的相机,我想找到一种将平面的 u,v 值转换为另一个的方法。

标签: opencv


【解决方案1】:

由于这些相机彼此平行(即stereo),因此第一张图像中点(x,y)的y轴将在第二张图像中保持不变,即y' = y。只有 x 会改变。 (y 是垂直轴,x 是水平轴)。

有一些技巧可以找到 x'。最简单的一种是归一化互相关。在点周围选择一个窗口,进行标准化互相关。结果将是图像宽度的数组。

除非您在平滑区域中搜索点,否则数组中的最大值(峰值)应该是您的匹配点。

或者,您可以尝试 SIFT/SURF 功能,但我不是这些方面的专家。我只知道在Matlab中有可以使用的函数(比如detectSURFfeatures)。

请注意,如果您使用两个不同的相机,则必须校准它们。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 这只是给你位置,当你旋转或/和翻译图像时像素的位置。在这个中,您有一张图像并对其进行修改,但是,在您的情况下,它们是从不同位置拍摄的不同图像。所以,这对你不会很有用。
    猜你喜欢
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多