文章预览
上一篇文章 单应性矩阵的计算 ,本文主要介绍如何把单应性矩阵应用于图像拼接中。 这里用手机拍摄了一幅画,分左图和右图。 左图 右图 具体的操作步骤: 提取两幅图中的特征点和描述子,常用的有ORB、SURF和SIFT。 对描述子进行匹配,OpenCV 提供了BFMatcher 和 FLANNMatcher 对匹配的特征点,会存在错误的匹配,通过RANSAC (Random Sample Consensus)筛选出正确的匹配。 对匹配的点对,计算单应性矩阵H 对右图应用H变换,然后进行重叠区域融合 实战 提取SIFT特征点和描述子 cv::Ptr sift = xfeatures2d::SIFT::create(); sift->detectAndCompute(img1, noArray(), kpts1, desc1); 2. 特征点粗匹配 void match ( const Mat & desc1, const Mat & desc2, std :: vector & matches) { cv::Ptr matcher = FlannBasedMatcher::create(); std :: vector < std :: vector > pair_matches; matcher->knnMatch(desc1, desc2,
………………………………