主要内容

vision.historogrambasedtracker

基于直方图的目标跟踪

描述

基于直方图的跟踪器结合了用于目标跟踪的连续自适应均值漂移(CAMShift)算法,它使用像素值的直方图来识别被跟踪的对象。

要跟踪对象,请执行以下操作:

  1. 创建vision.historogrambasedtracker对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解有关系统对象如何工作的更多信息,请参见什么是系统对象?.

创造

描述

实例

hbtracker=vision.HistogramBasedTracker返回使用CAMShift算法跟踪对象的跟踪器。它使用像素值的直方图来识别跟踪的对象。若要初始化跟踪过程,必须使用初始化对象函数指定对象的示例图像。

hbtracker=vision.HistogramBasedTracker(名称、值)使用一个或多个名称-值对设置属性。用引号括住每个属性名称。例如,hbtracker=vision.HistogramBasedTracker('ObjectHistogram',[])

性质

全部展开

除非另有说明,否则属性为不能,这意味着您不能在调用对象后更改其值。对象在调用时锁定,并且释放函数将解锁它们。

如果一个属性是可调,您可以随时更改其值。

有关更改特性值的详细信息,请参见基于系统对象的MATLAB系统设计.

标准化像素值直方图,指定为N-元素向量。此向量指定对象像素值的规格化直方图。直方图值必须规格化为介于01..你可以使用初始化对象方法来设置属性。

可调:

用法

描述

口技=hbtracker(I)返回跟踪对象的边界框。在使用跟踪器之前,必须识别要跟踪的对象,并设置初始搜索窗口。使用初始化对象函数来执行此操作。

[口技,方向]=hbtracker(I)另外,还返回x-与对象具有相同二阶矩的椭圆的轴和长轴。返回的角度介于–pi/2和pi/2之间。

[口技,方向,分数]=hbtracker(I)另外,返回包含跟踪对象的返回边界框的置信度分数。

输入参数

全部展开

视频帧,指定为灰度或将对象与背景区分开来的任何二维特征贴图。例如,我可以是HSV颜色空间的色调通道。

输出参数

全部展开

边界框,作为格式中的四元素向量返回[xY宽度身高].

方向,以–pi/2和pi/2之间的角度返回。角度是从垂直方向测量的x-与对象具有相同二阶矩的椭圆的轴和长轴。

分数,作为范围[0 1]中的标量返回。值为1.对应于最大置信度。1..

目标函数

要使用对象函数,请指定系统对象™ 作为第一个输入参数。例如,释放名为obj,请使用以下语法:

释放(obj)

全部展开

初始化对象 将对象设置为跟踪
初始化搜索窗口 设置初始搜索窗口
系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部崩溃

在输入视频的每一帧中跟踪并显示一张脸。

创建用于读取和显示视频以及绘制对象边界框的系统对象。

视频阅读器(“vipcolorsegmentation.avi”);videoPlayer=vision.videoPlayer();shapeInserter=vision.shapeInserter(“边框颜色”,“习俗”,...“自定义边框颜色”,[1 0 0]);

读取包含对象的第一个视频帧。将图像转换为HSV颜色空间。然后定义并显示对象区域。

objectFrame=im2single(readFrame(videoReader));objectHSV=rgb2hsv(objectFrame);objectRegion=[40,45,25,25];objectImage=shapeInserter(objectFrame,objectRegion);图imshow(objectImage)标题('红色框显示对象区域')

(也可以选择使用鼠标选择对象区域。对象必须占据区域的大部分。使用以下命令。)

图形imshow(objectFrame);objectRegion=round(getPosition(imrect))

根据第一个视频帧的色调通道设置对象。

tracker=vision.historogrambasedtracker;初始化对象(tracker,objectHSV(:,:,1),objectRegion);

跟踪并显示每个视频帧中的对象。while循环读取每个图像帧,将图像转换为HSV颜色空间,然后在色调通道中跟踪与背景不同的对象。最后,示例在对象周围绘制一个框并显示结果。

虽然hasFrame(视频阅读器)frame=im2single(读框(视频阅读器));hsv=rgb2hsv(帧);bbox=跟踪器(hsv(:,:,1));out=形状插入器(框架,bbox);视频播放器(输出);终止

释放视频播放器。

释放(视频播放器);

工具书类

[1] 用于感知用户界面的计算机视觉人脸跟踪英特尔技术杂志. 1998年1月。

扩展能力

另见

功能

2012年推出