MATLAB视频处理
应用,例子和技术
对象跟踪
对象跟踪是许多应用程序的重要组成部分,包括行人避税,安全性和监测以及增强现实。该示例显示了从固定相机从视频中移动人员移动的运动跟踪。
对象检测和计数
视频处理可用于检测和计数在视频序列中移动的对象。在这种情况下,澳大利亚的科学家正在使用视频镜头来估计野生动物群的水鸟。
马铃薯®提供工具和算法,可让您查看,分析,读取和编写视频。视频处理可以在应用程序中有用:
- 对象识别深入学习
- 诸如光学流程的运动估计
- 面部检测和跟踪
4个简单步骤中的视频处理
MATLAB中的视频处理涉及以下步骤:
- 阅读视频
- 显示视频
- 处理视频
- 写视频
第1步。阅读视频
您可以从文件或直接从相机读取视频。
单个matlab命令允许您从文件中读取视频:
>> Vid = Videoreader('filename.avi')
Matlab支金宝app持网络摄像头用于视频处理,而图像采集工具箱™可以从许多工业和科学相机的实时收购。
matlab让你使用各种编解码器读取视频文件包括Microsoft的特定操作系统编解码器®视窗®,mac和linux®。
第3步。处理视频
视频是各个视频帧或图像的序列。这意味着设计用于在图像上执行边缘检测的算法可以快速地转换以对视频执行边缘检测。
阅读单个镜像 |
从视频读取图像框架 |
---|---|
|
|
视频处理可以非常简单,如在使用边缘检测的示例中,或者明显更复杂,例如必须考虑在前帧中的对象位置的跟踪算法。
有关高级视频处理的更多信息,请参阅示例:
第四步。写视频
处理后,您可以将每个帧写入文件。您可以使用该功能创建一个视频文件:
>> Vid_w = VideoWriter('newfile.avi');>>打开(Vid_w)
变量vid_w.
可以累积新帧以创建视频。
一个完整的matlab示例
将所有组件放在一起,让我们通过一个完整的榜样来显示阅读,显示,处理和编写视频的步骤:
%%读取和处理MATLAB%SETUP的视频:创建视频读者和作家Videofilereader = Videoreader('tilted_face.avi');MyVideo = VideoWriter('myfile.avi');%设置:创建可部署的视频播放器和面部探测器depvideoplayer = Vision.DeployableVideplayer;FaceDetector = Vision.cascadeObjectDetector();打开(MyVideo);%%检测每个帧中的面尽管Hasfame(Videofilereader)%读取视频帧视频rame = ReadFrame(VideoFilereader);%进程框架bbox = facedetector(视频rame);视频rame = insertshape(视频rame,'矩形',bbox);%显示视频帧到屏幕DEPVIDEOPLAYER(Videoframe);%将框架写入最终视频文件WriteVideo(MyVideo,Videoframe);暂停(1 / Videofilereader.framerate);结尾关闭(MyVideo)
你可以下载此代码在Matlab Central。
计算机愿景的视频处理算法
使用视频处理的时间相关性的MATLAB算法基于“状态”的概念,该算法在当前视频帧上工作的想法,但也使用先前的帧来确定其输出。这对于对象跟踪算法至关重要,依靠先前的信息来告知未来的行动。跟踪的常见例子是KLT算法,它跟踪对象中的各个点以跟踪对象的位置。
视频处理算法的开发人员还可以使用特定于视觉的算法计算机Vision System Toolbox™。该算法让您以快速和内存高效的方式读取和查看高分辨率视频。该工具箱还包括用于3D点云处理,立体视觉,对象检测,跟踪和识别以及其他应用程序的算法。