zoukankan      html  css  js  c++  java
  • cvCalcOpticalFlowPyrLK的使用--基于高斯金字塔的稀疏光流特征集求解

    void cvCalcOpticalFlowPyrLK( const CvArr* prev, const CvArr* curr, CvArr* prev_pyr, CvArr* curr_pyr,
                                 const CvPoint2D32f* prev_features, CvPoint2D32f* curr_features,
                                 int count, CvSize win_size, int level, char* status,
                                 float* track_error, CvTermCriteria criteria, int flags );
    prev
    在时间 t 的第一帧
    curr
    在时间 t + dt 的第二帧
    prev_pyr
    第一帧的金字塔缓存. 如果指针非 NULL , 则缓存必须有足够的空间来存储金字塔从层 1 到层 #level 的内容。尺寸 (image_width+8)*image_height/3 比特足够了
    curr_pyr
    与 prev_pyr 类似, 用于第二帧
    prev_features
    需要发现光流的点集
    curr_features
    包含新计算出来的位置的 点集
    count
    特征点的数目
    win_size
    每个金字塔层的搜索窗口尺寸
    level
    最大的金字塔层数。如果为 0 , 不使用金字塔 (即金字塔为单层), 如果为 1 , 使用两层,下面依次类推。
    status
    数组。如果对应特征的光流被发现,数组中的每一个元素都被设置为 1, 否则设置为 0。
    error
    双精度数组,包含原始图像碎片与移动点之间的差。为可选参数,可以是 NULL .
    criteria
    准则,指定在每个金字塔层,为某点寻找光流的迭代过程的终止条件。
    flags
    其它选项:
    • CV_LKFLOW_PYR_A_READY , 在调用之前,第一帧的金字塔已经准备好
    • CV_LKFLOW_PYR_B_READY , 在调用之前,第二帧的金字塔已经准备好
    • CV_LKFLOW_INITIAL_GUESSES , 在调用之前,数组 B 包含特征的初始坐标 (Hunnish: 在本节中没有出现数组 B,不知是指的哪一个)

    函数 cvCalcOpticalFlowPyrLK 实现了金字塔中 Lucas-Kanade 光流计算的稀疏迭代版本 ([Bouguet00])。 它根据给出的前一帧特征点坐标计算当前视频帧上的特征点坐标。 函数寻找具有子象素精度的坐标值。

    两个参数 prev_pyr 和 curr_pyr 都遵循下列规则: 如果图像指针为 0, 函数在内部为其分配缓存空间,计算金字塔,然后再处理过后释放缓存。 否则,函数计算金字塔且存储它到缓存中,除非设置标识 CV_LKFLOW_PYR_A[B]_READY 。 图像应该足够大以便能够容纳 Gaussian 金字塔数据。调用函数以后,金字塔被计算而且相应图像的标识可以被设置,为下一次调用准备就绪 (比如:对除了第一个图像的所有图像序列,标识 CV_LKFLOW_PYR_A_READY 被设置).

    上面的对OpenCV中对这个函数的具体介绍: 我把自己使用中获得的收获写下

    1 这里的pre 和 cur 分别代表我们需要跟踪图像的前一帧和当前帧,对物体的跟踪,我们在第一帧的时候一般是定位特征点,同时把这帧保存为 pre ,那么处理第二帧的时候这两个参数都会有了。可以进行跟踪了。

    2 关于 flag, 根据我们的金字搭是否建立了,设置不同的值,一般在第一次使用0,在一帧处理完了保留当前金字塔为前一帧金字塔,下次处理时候直接可以使用。

    转载自:http://www.cnblogs.com/xingma0910/archive/2012/07/26/2610281.html

  • 相关阅读:
    LAMP架构实现-单机module形式
    16.同步类容器Collections.synchronized
    【dart 语法】String 介绍
    【flutter】Widget
    【flutter 入门】项目结构
    【flutter 安装详解 一步到位的】
    【iOS知识汇】storyboard tableview 自适应高度cell
    pod install 卡住 去掉 pods更新直接下载库文件
    【iOS知识汇】textField监听
    纪念第一次笔试全AC,居然来自滴滴~
  • 原文地址:https://www.cnblogs.com/Peit/p/7474260.html
Copyright © 2011-2022 走看看