自主视觉避障之光流法

本文深入探讨光流法的基本概念、主流算法如金字塔LK、HS2003、DIS2016及Farneback,并通过实例演示如何在OpenCV中实现。同时,文章还讨论了光流法在避障领域的应用潜力及未来发展趋势。

本帖的目的在于:
1)学习光流的基本概念和基本原理;
2)调研当前光流法的主流方法,并给出参考链接和源码
3)光流法与避障的结合点
4)谈一谈光流法的应用和未来发展趋势

1.光流法

1.1 光流法的基本假设

1.2 传统的光流法

参考:光流简介
opencv中的光流法及其函数调用。
注意:opencv不同版本有不同的方法,有些方法在最新的版本中可能遭到遗弃。
参考:opencv 3.4.2稠密光流方法

  • 金字塔LK:calcOpticalFlowPyrLK
  • HS 2003:CalcOpticalFlowHS
  • DIS 2016:
  • Farneback:calcOpticalFlowFarneback
    Farneback算法详解
    Farneback算法参考
  • SimpleFlow 2012:calcOpticalFlowSF
  • 块匹配:CalcOpticalFlowBM

1.2.1 金字塔LK光流法

1.2.2 HS光流法

1.2.3 DIS光流法

参考文献:Kroeger T , Timofte R , Dai D , et al. Fast Optical Flow using
Dense Inverse Search[J]. 2016.
已经在OpenCV库中了。

参考链接:OpenCV4.0下调用DIS光流法

#include "opencv2/core/utility.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/video.hpp"
#include <iostream>
using namespace std;
using namespace cv;
static void help()
{
   
   
    printf("Usage: dis_optflow <video_file>\n");
}
int main(int argc, char **argv)
{
   
   
    VideoCapture cap;
    if (argc < 2)
    {
   
   
        help();
        exit(1);
    }
    cap.open(argv[1]);
    if(!cap.isOpened())
    {
   
   
        printf("ERROR: Cannot open file %s\n", argv[1]);
        return -1;
    }
    Mat prevgray<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值