图像匹配与变换技术详解
1. 图像匹配与基础矩阵估计
在图像匹配过程中,我们可以通过以下代码来匹配两张图像:
// Match the two images
std::vector<cv::DMatch> matches;
std::vector<cv::KeyPoint> keypoints1, keypoints2;
cv::Mat fundamental = rmatcher.match(image1, image2,
matches,
keypoints1,
keypoints2);
上述代码运行后可能会得到54个匹配结果,但其中可能存在一些错误匹配,这些错误匹配可能恰好落在计算得到的基础矩阵对应的对极线上。
为了更准确地估计基础矩阵,我们引入了基于RANSAC(RANdom SAmpling Consensus)策略的方法。RANSAC算法的目标是从可能包含异常值的数据集中估计一个给定的数学实体。其具体步骤如下:
1. 从数据集中随机选择一些数据点,对于基础矩阵的估计,最少需要8个匹配对(实际上最少是7个匹配,但8点线性算法计算速度更快)。
2. 根据这8个随机匹配对估计基础矩阵。
3. 用得到的基础矩阵的对极约束来测试匹配集中的其他所有匹配对。满足约束条件(即对应特征点到其对极
超级会员免费看
订阅专栏 解锁全文
6155

被折叠的 条评论
为什么被折叠?



