主要内容

将数据记录到磁盘

本示例演示如何为磁盘日志配置日志属性,然后启动日志获取。

配置日志记录模式

从图像采集设备获得的数据可以记录到内存、磁盘或两者。默认情况下,数据被记录到内存中。要改变记录模式,配置视频输入对象LoggingMode财产。

%使用灰度视频格式和每像素% 10位。vidobj = videoinput (“gige”, 1“Mono10”);%查看默认日志模式。currentLoggingMode = vidobj.LoggingMode;
currentLoggingMode =记忆
%列出所有可能的日志记录模式。集(vidobj,“LoggingMode”
[{memory} | disk | disk&memory]
%配置日志模式到磁盘。vidobj。LoggingMode =“磁盘”%验证配置。currentLoggingMode = vidobj.LoggingMode;
currentLoggingMode=磁盘

配置磁盘日志属性

记录到磁盘需要MATLAB®VideoWriter对象。VideoWriter是MATLAB函数,而不是工具箱函数。创建并配置aVideoWriter对象,将其提供给视频输入对象DiskLogger财产。

VideoWriter提供许多不同的配置文件,以不同的格式记录数据。这个例子使用了Motion jpeg2000配置文件,它可以记录单条带(灰度)数据以及多字节数据。提供的配置文件的完整列表VideoWriter可以在文档中找到。

创建|VideoWriter|对象。日志文件= VideoWriter (“logfile.mj2”“运动JPEG 2000”
VideoWriter一般属性:Filename: 'logfile. 'mj2' Path: 'C:\Temp' FileFormat: 'mj2' Duration: 0 Video Properties: ColorChannels: Height: Width: FrameCount: 0 FrameRate: 30 VideoBitsPerPixel: VideoFormat: VideoCompressionMethod: 'Motion JPEG 2000' CompressionRatio: 10 LosslessCompression: 0 MJ2BitDepth: 0
%配置视频输入对象使用|VideoWriter|对象。vidobj。DiskLogger =日志文件;

开始收购

现在视频输入对象已配置为将数据记录到Motion jpeg2000文件中,开始采集。

%开始收购。开始(vidobj)%等待收购完成。等待(vidobj 5)

当将大量数据记录到磁盘时,磁盘写入有时会滞后于获取。要确定是否所有帧都已写入磁盘,请使用DiskLoggerFrameCount财产。

(vidobj。FramesAcquired ~= vidobj.DiskLoggerFrameCount) pause(.1)暂停结束

验证FramesAcquired财产和DiskLoggerFrameCount属性具有相同的值。

vidobj。FramesAcquired
ans = 10
vidobj。DiskLoggerFrameCount
ans = 10
%当视频输入对象不再需要时,删除%并将其从工作区中清除。删除(vidobj)清晰vidobj