主要内容

在场景中跟踪人脸

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

videoReader = videoReader (“visionface.avi”);放像机=愿景。放像机(“位置”[100100680520]);

读取第一个视频帧,其中包含对象,定义区域。

objectFrame = readFrame (videoReader);objectRegion =(264122、93、93);

作为一种替代方法,您可以使用以下命令使用鼠标选择对象区域。物体必须占据区域的大部分:

图;imshow (objectFrame);

objectRegion =圆(getPosition (imrect))

显示带有红色边框的初始帧。

objectImage = insertShape (objectFrame,“矩形”objectRegion,“颜色”“红色”);图;imshow (objectImage);标题(“红框显示对象区域”);

检测目标区域的兴趣点。

点= detectMinEigenFeatures (im2gray (objectFrame),“投资回报”, objectRegion);

显示检测到的点。

pointImage = insertMarker (objectFrame点。的位置,“+”“颜色”“白色”);图;imshow (pointImage);标题(“检测兴趣点”);

创建一个跟踪器对象。

追踪=愿景。PointTracker (“MaxBidirectionalError”1);

初始化跟踪。

初始化(跟踪、points.Location objectFrame);

在每个视频帧中读取、跟踪、显示点和结果。

hasFrame(videoReader) frame = readFrame(videoReader);(点,有效性)=追踪(框架);out = insertMarker(frame,points(validity,:)),“+”);放像机(出);结束

释放视频播放器。

释放(放像机);