图像投影关系估计:从基础矩阵到单应性矩阵
在计算机视觉领域,准确估计图像间的投影关系是许多任务的基础,如立体视觉、图像拼接等。本文将详细介绍如何计算图像对的基础矩阵和单应性矩阵,以及如何利用这些矩阵进行特征匹配和图像拼接。
1. 计算基础矩阵与特征匹配
目标是计算两幅图像之间的基础矩阵和一组良好的匹配点。为实现这一目标,我们创建了一个 RobustMatcher
类,封装了鲁棒匹配过程的不同步骤。
class RobustMatcher {
private:
// 特征点检测器对象指针
cv::Ptr<cv::FeatureDetector> detector;
// 特征描述符提取器对象指针
cv::Ptr<cv::DescriptorExtractor> descriptor;
int normType;
float ratio; // 第一和第二近邻的最大比率
bool refineF; // 如果为真,将细化 F 矩阵
bool refineM; // 如果为真,将细化匹配
double distance; // 到对极线的最小距离
double confidence; // 置信水平(概率)
public:
RobustMatcher(const cv::Ptr<cv::FeatureDetector> &detector,
const cv::Ptr<cv::DescriptorExtractor&g