我有 2 个图像 sourceImg,refImg。
我已经提取了这样的特征:
cv::GoodFeaturesToTrackDetector detector;
std::vector<cv::KeyPoint> sourceKeyPoints, refKeyPoints;
detector.detect(sourceImg, sourceKeyPoints);
detector.detect(refImg, refKeyPoints);
我想找到一个对象从 refImg 到 sourceImg 的翻译。没有旋转或透视变化,只有简单的二维平移。可能会有一些噪音。
当两个集合提取的特征数量相同时,findHomography() 可以正常工作,甚至可以很好地处理噪声。
我的问题是,当功能数量不同时我该怎么办?
有人可以为我指出关于 DescriptorExtractor 和匹配的正确方向吗?
注意:出于专利原因,我不能使用 SURF/SIFT。