OpenCV:CalcOpticalFlowPyr…
来源:互联网 发布:软件需求分析活动 编辑:程序博客网 时间:2024/06/13 10:50
原文地址:特征点匹配">OpenCV:CalcOpticalFlowPyrLK 特征点匹配 作者:imagine
这是一个可以用来进行特征点匹配的函数:
原文地址:http://hi.baidu.com/benbendy/blog/item/2f326c5561749cc3b745ae1d
CalcOpticalFlowPyrLK
计算一个稀疏特征集的光流,使用金字塔中的迭代 Lucas-Kanade 方法
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,在一帧处理完了保留当前金字塔为前一帧金字塔,下次处理时候直接可以使用。
阅读全文
0 0
- OpenCV:CalcOpticalFlowPyr…
- OpenCV:cvGoodFeaturesToTr…
- opencv
- openCV
- openCV
- Opencv
- opencv
- opencv
- opencv
- OpenCV
- OpenCV
- OpenCV
- OpenCV
- opencv
- Opencv。。
- OpenCV
- opencv
- opencv
- 怎样去掉word2007中显示的拼写检查…
- 9.2-全栈Java笔记:List接口的特点和常用方法
- OpenCV学习之三 打开视频文…
- OpenCV:IplImage和单字节ch…
- 使用OpenCV 读取和处理任意…
- OpenCV:CalcOpticalFlowPyr…
- OpenCV:cvGoodFeaturesToTr…
- 关于OPENCV中IplImage所存储…
- opencv访问图像像素
- FPGA管脚绑定表导入没有反应
- 分水岭算法的详细介绍(附c…
- ifdefine的作用
- word文档必须在安全模式下打开
- IplImage origin参数