用MATLAB进行视频处理
应用程序、示例和技术
对象跟踪
目标跟踪是许多应用,包括行人避让,安全和监控,以及增强现实的重要组成部分。从固定摄像机的视频感动的人这方面的例子显示了基于运动的跟踪。
目标检测与计数
视频处理可以用来检测和计数对象在视频序列这一举动。在这种情况下研究中,科学家在澳大利亚使用录像来估算水鸟的野生动物种群。
MATLAB®提供工具和算法,让您查看、分析、阅读和编写视频。视频处理可以有用的应用,如:
视频处理4个简单的步骤
MATLAB中的视频处理包括以下步骤:
- 看视频
- 显示视频
- 处理视频
- 编写视频
第1步。读取视频
您可以从文件中或直接从相机读取视频。
一个简单的MATLAB命令可以让你从一个文件中读取视频:
>> vid = VideoReader('filename.avi')
MATLAB支万博1manbetx持网络摄像头用于视频处理,而图像采集工具箱™使现场采集从许多工业和科学摄像机。
MATLAB让您使用各种编解码器读取视频文件包括针对Microsoft的特定于操作系统的编解码器®视窗®,Mac和Linux®。
第3步。处理视频
视频是单个视频帧,或图像序列。此装置的一个算法设计为在图像上进行边缘检测可以迅速转换到对视频执行边缘检测。
阅读单个图像 |
从视频中读取图像帧 |
---|---|
|
|
步骤4。写的视频
处理后,你可以把视频的每一帧写回一个文件。您可以创建一个视频文件的功能:
>> vid_w = VideoWriter(“newfile.avi”);>>开放(vid_w)
变量vid_w
可以积累新帧以创建视频。
一个完整的MATLAB示例
将所有组件放在一起,让我们运行一个完整的示例来展示读取、显示、处理和编写视频的步骤:
%%读取和处理视频到MATLAB%设置:创建视频Reader和WritervideoFileReader = VideoReader ('tilted_face.avi');为myVideo = VideoWriter(“myFile.avi”);%设置:创建可部署的视频播放器和人脸检测器depVideoPlayer = vision.DeployableVideoPlayer;faceDetector = vision.CascadeObjectDetector();打开(为myVideo);%%检测面中的每个帧而hasFrame (videoFileReader)读取视频帧videoFrame = readFrame (videoFileReader);%的过程框架bbox = faceDetector (videoFrame);videoFrame = insertShape (videoFrame,'长方形',BBOX);%显示视频帧到屏幕depVideoPlayer (videoFrame);%写入帧到最终的视频文件writeVideo (myVideo videoFrame);暂停(1 / videoFileReader.FrameRate);结束关闭(为myVideo)
您可以下载该代码在MATLAB中央。
计算机视觉的视频处理算法
使用时间相关性用于视频处理的MATLAB算法是基于“状态,”的概念的思想,该算法工作的当前视频帧上,但也使用先前帧来确定其输出。这是目标跟踪算法,它依赖于之前的信息,以便为将来的行动是至关重要的。跟踪的一个常见的例子是KLT算法,它跟踪对象中的各个点,以跟踪对象的位置。
视频处理算法的开发者也可以使用特定于视觉的算法计算机视觉系统工具箱™。这些算法可以让你以一种快速且节省内存的方式阅读和观看高分辨率视频。该工具箱还包括用于3D点云处理、立体视觉、目标检测、跟踪和识别以及其他应用的算法。