利用sift特征点判断相机是否发生移动。

具体解决的场景是 当你的相机在标定后如果不小心被触碰后,摄像机前后拍摄的图像来检测相机是否发生移动,从而准确定位到是哪个相机方便后续进行调整。具体的程序也很简单,具体思路为
利用sift寻找两张图像的匹配特征点——去除误匹配点——利用匹配点的欧式距离由小到大排序——以10.5为阈值点>10.5则认为有轻微移动(10.5是自己粗略估计值)
具体程序如下

#include <iostream>
#include<algorithm>
#include <opencv2/opencv.hpp>  
#include <opencv2/xfeatures2d.hpp>

using namespace cv;  //包含cv命名空间
using namespace std;
int main() {
   
   
    //Create SIFT class pointer
    Ptr<Feature2D> f2d = xfeatures2d::SIFT::create();
    vector<Mat> img_1;
    vector<Mat> img_2;
    char srcname[100];
    char dstname[100];
    int number = 19;
    for (int i = 0; i < number; i++)
    {
   
   
        sprintf(srcname, "./data/src/%04d.jpg", i);
        sprintf(dstname, "./data/dst/%04d.jpg", i);
   
        img_1.push_back(imread(srcname));
        img_2.push_back(imread(dstname));
        if (img_1.empty
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值