gpt4 book ai didi

matlab - 使用 Ransac 的仿射模型

转载 作者:行者123 更新时间:2023-11-30 09:56:50 30 4
gpt4 key购买 nike

RANSAC 用于查找与两个图像相关的单应性矩阵。为了计算矩阵,我们需要至少 4 个对应关系。同形矩阵是描述任何透视变换的通用 3*3 矩阵。如果我们只给出3个对应关系,那么如何计算同源矩阵?由于两幅图像是仿射相关的,因此我们可以仅使用3个对应关系来计算矩阵。

最佳答案

寻找有关该主题的文献的第一个地方可能是 Hartley 和 Zisserman 所著的计算机视觉中的多 View 几何一书。

从 3 个对应关系中,您可以找到大小为 3x3 的仿射单应性 A,它将每个 2D 图像点 p 映射到每个点 q以下方程(假设 pq 是齐次形式的 2D 点):

A*p = q

要找到匹配三组点对的A:{p1, p2, p3} -> { q1, q2, q3 },您只需堆叠两个矩阵 PQ 中的点,大小均为 3x3。

矩阵'P'使得单元格P(1,i)P(2,i)应包含第一个和第 i 个点 p 的第二个坐标。矩阵 Q 使得单元格 Q(1,i)Q(2,i) 应包含 Q(1,i) 的第一个和第二个坐标em>i-第 q 点。

单元格 P(3,i)Q(3,i),对于 i=1..3 将包含 1 (为齐次坐标)。

一旦形成这些矩阵,您可以通过求解找到A:

A*P = Q

即,简单地说:

A = Q*P.inv()

但请注意,您正在寻找的是投影平面单应性,并且您至少需要 4 个点来计算它,并且需要不同的方法。您必须解方程:

H * p α q

其中 H 是您要查找的单应性,α 表示比例。要从四个对应关系中查找 H,您必须使用 Direct Linear Transformation方法。不过,在 OpenCV 中您可以使用 findHomography找到H

希望对您有所帮助,问候。

关于matlab - 使用 Ransac 的仿射模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461590/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com