OpenCV学习——对富特征进行光流匹配

本文基于《深入理解OpenCV——实用计算机视觉项目解析》第四章,探讨了在富特征上运用光流匹配的方法。通过FAST特征点检测提取关键点,然后进行光流计算,实现匹配。实验结果显示,此方法能有效快速地处理匹配点,适用于实际应用。

《深入理解OpenCV——实用计算机视觉项目解析》第四章学习。
在富特征上使用光流匹配的优势在于处理过程通常较快且能容纳更多的匹配点。
将结构KeyPoint转化成Point2f的代码如下:

void KeyPointsToPoints(const vector<KeyPoint>& kps, vector<Point2f>& ps)
 {
    ps.clear();
    for (unsigned int i = 0; i<kps.size(); i++) 
        ps.push_back(kps[i].pt);
}

特征提取的方式可以根据实际情况改变,这里使用FAST特征点检测。
光流匹配的代码如下:

void OFMatch()
{
    String fileName1 = "1.jpg";
    String fileName2 = "2.jpg";
    Mat img1;
    Mat img2;
    img1 = imread(fileName1,1);
    img2 = imread(fileName2,1);
    if (!img1.data || !img2.data)
    {
        cout << "error reading" << endl;
    }
    vector<KeyPoint>left_keypoints, right_keypoints;
    //寻找左右两张图中的特征点
    FastFeatureDetector ffd;
    ffd.detect(img1, left_keypoints);
    ffd.detect(img2, right_keypoints);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值