利用kade - lucas - tomasi (KLT)算法跟踪视频点
点跟踪器对象使用Kanade-Lucas-Tomasi (KLT)特征跟踪算法跟踪一组点。点跟踪器可以用于视频稳定、摄像机运动估计和目标跟踪。它特别适用于跟踪形状不变的对象和那些显示视觉纹理的对象。点跟踪器通常用于短期跟踪,作为较大跟踪框架的一部分。
随着点跟踪算法的发展,点可能会由于光照变化、平面旋转或关节运动而丢失。要在很长一段时间内跟踪一个对象,可能需要周期性地重新获取点。
跟踪一组点:
创建愿景。PointTracker
对象,并设置其属性。
使用参数调用对象,就像调用函数一样。
要了解更多关于System对象如何工作的信息,请参见什么是系统对象?.
pointTracker =愿景。PointTracker
返回一个点跟踪器对象,用于跟踪视频中的一组点。
使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。例如,pointTracker
=愿景。PointTracker (名称,值
)pointTracker = vision.PointTracker (NumPyramidLevels, 3)
初始化跟踪流程:
要初始化跟踪过程,必须使用初始化
指定点的初始位置和初始视频帧。
初始化(pointTracker点,我)
初始化要跟踪的点并设置初始视频帧。最初的位置点
,一定是米[x y]坐标的-by-2数组。初始视频帧,我
,必须是二维灰度或RGB图像,并且必须与传递给该的视频帧的大小和数据类型相同一步
方法。
的detectFASTFeatures
,detectSURFFeatures
,detectHarrisFeatures
,detectMinEigenFeatures
函数是获取跟踪初始点的许多方法中的少数几种。
[
跟踪输入帧中的点,点
,point_validity
) = pointTracker (我
)我
.
[
此外,返回每个点的信心分数。点
,point_validity
,分数
) = pointTracker (我
)
选点(pointTracker
设置跟踪点。函数将米2点
)点
数组的xy与要跟踪的点坐标。如果在跟踪过程中丢失了太多的点,需要重新检测这些点,您可以使用这个功能。
选点(pointTracker
另外,允许您标记点为有效或无效。输入逻辑向量点
,point_validity
)point_validity
的长度米,包含与要跟踪的点的有效性相对应的真值或假值。长度米对应于点的个数。假值表示不应该跟踪的无效点。例如,可以使用这个函数estimateGeometricTransform
函数来确定前一帧和当前帧中的点位置之间的转换。您可以将异常值标记为无效值。
要使用对象函数,请指定System对象™作为第一个输入参数。例如,释放名为system的对象的系统资源obj
,使用下面的语法:
发行版(obj)
卢卡斯,布鲁斯·d和金ade武夫。“一种用于立体视觉的迭代图像配准技术”,第七届国际人工智能联合会议论文集, 1981年4月,第674-679页。
Tomasi, Carlo和Takeo Kanade。点特征检测与跟踪1991年4月,卡耐基梅隆大学计算机科学系。
史剑波,卡洛·托马西。“需要跟踪的好功能”计算机视觉与模式识别会议, 1994,第593-600页。
Kalal, Zdenek, kristian Mikolajczyk, Jiri Matas。前向后误差:跟踪故障的自动检测第20届国际模式识别会议论文集, 2010,页2756-2759,2010。
detectHarrisFeatures
|detectMinEigenFeatures
|detectSURFFeatures
|estimateGeometricTransform
|imrect
|insertMarker
|愿景。HistogramBasedTracker