模板匹配函数详解
来源:互联网 发布:淘宝首页资源位 编辑:程序博客网 时间:2024/05/01 15:32
算法思想:我们把要跟踪的目标保存好,然后在每一帧来临的时候,我们在整个图像中寻找与这个目标最相似的,我们就相信这个就是目标了。
相似性的计算——模板匹配中差值的平方和(SSD)与互相关准则的关系
http://blog.csdn.net/zouxy09/article/details/8549743
实现函数:
void matchTemplate( const Mat& image, const Mat& templ, Mat&result, int method );
该函数的功能为,在输入源图像Sourceimage(I)中滑动框,寻找各个位置与模板图像Template image(T)的相似度,并将结果保存在结果矩阵result matrix(R)中。该矩阵的每一个点的亮度表示与模板T的匹配程度。然后可以通过函数minMaxLoc定位矩阵R中的最大值(该函数也可以确定最小值)。
minMaxLoc函数原型:
void minMaxLoc( const Mat& src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, const Mat& mask=Mat() ); void minMaxLoc(const MatND& src, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0, const MatND& mask=MatND() ); void minMaxLoc(const SparseMat& src, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0);
说明:
1 minMaxLoc寻找矩阵(一维数组当作向量,用Mat定义) 中最小值和最大值的位置.
2 参数若不需要,则置为NULL或者0,即可.
3 minMaxLoc针对Mat和MatND的重载中 ,第5个参数是可选的(optional),不使用不传递即可.
然后为了适应目标的变化,我们就需要随时更新我们要跟踪的目标。换句话来说,在第t帧寻找目标的时候,是与t-1帧中我们找到的目标来进行比较的。这样目标的外观变化就会及时的更新。这个就叫做在线跟踪方法。
缺点:这个策略会导致跟踪漂移的问题,这就是近几年很多跟踪算法关注的重要问题之一了。实际情况下是复杂的,比如多个人在走,互相交叉,画面上人比较小,特征不明显等问题都会出现。例如两个身高体型差不多,衣服颜色也差不多的人互相交叉走过。还会有人走着走着忽然被障碍挡住了,然后重新出现,等等去情况,导致这种程序放到真实环境视频中,根本没法正常使用。
1 0
- 模板匹配函数详解
- Halcon 模板匹配参数详解
- 重载函数模板匹配约定
- MATLAB 进行模板匹配函数
- C++函数模板详解
- 函数模板 详解
- C++函数模板详解
- C++函数模板详解
- C++函数模板详解
- 母函数模板详解
- 匹配优化--KM算法 详解+模板
- OpenCV中的模板匹配函数:cvMatchTemplate
- 模板匹配函数cvMatchTemplate中的…
- 模板匹配函数cvMatchTemplate中的…
- 模板匹配函数cvMatchTemplate中的…
- 模板匹配函数cvMatchTemplate中的…
- opencv学习: 模板匹配函数matchTemplate
- OpenCV模板匹配函数:matchTemplate()介绍
- Python -- 计算文件的md5值
- python numpy教程
- 集训队专题(8)1005 小明系列故事——未知剩余系
- 分布式架构下的会话追踪实践【基于Cookie和Redis实现】
- UART 初始化及使用示例代码
- 模板匹配函数详解
- PAT甲级1001-Public Bike Management (30)
- 1053. Path of Equal Weight (30)
- Asp.net B/S模式下使用Console.Write()
- 字符串和字典的相互转化
- 共享onload事件的使用(javascriptDOM编程艺术学习笔记)
- java内存模型
- php读取网络文件 curl, fsockopen ,file_get_contents 几个方法的效率对比
- Numpy使用3