主要内容

日志数据到内存

这个例子展示了如何记录图像数据和视图记录数据。

预览数据

测井资料之前,从一个图像采集设备的图像可以预览住使用预览功能。调用预览功能,将打开一个预览窗口。关闭预览窗口,使用CLOSEPREVIEW函数。

%访问一个图像采集设备。vidobj = videoinput (“winvideo”1);
%打开预览窗口。预览(vidobj)

单帧采集

获得一个帧,使用GETSNAPSHOT函数。

快照= getsnapshot (vidobj);
%显示在图框架的窗口。显示亮度图像(快照)

Multi-Frame收购

指定的帧数记录触发后,配置视频输入对象的FramesPerTrigger财产。

%的数量配置帧记录触发。vidobj。FramesPerTrigger = 50;

一个图像采集对象之前必须运行数据可以记录。开始发起收购,使用函数。

开始(vidobj)
%注意到帧的数量被记录到内存……numAvail = vidobj.FramesAvailable
numAvail = 7
%……增加……numAvail = vidobj.FramesAvailable
numAvail = 14
%……随着时间的推移。numAvail = vidobj.FramesAvailable
numAvail = 21

检索记录数据从内存,使用GETDATA函数与视频输入对象和检索的帧数。

%检索记录的一些帧。imageData = getdata (vidobj 30);
%注意到的帧数保持在内存中。numAvail = vidobj.FramesAvailable
numAvail = 20
%显示最后一帧从内存中提取。显示亮度图像(imageData (:,:,: 30))

%等待收购完成。等待(vidobj);

不断获取数据,配置FramesPerTrigger属性到正无穷。触发后,数据将被记录,直到视频输入对象停止运行。阻止一个对象运行,使用停止功能。

vidobj。FramesPerTrigger =正;
%发起收购。开始(vidobj)%注意到的帧数在内存中。numAvail = vidobj.FramesAvailable
numAvail = 6
%循环直到10帧(numAvail < = 10) numAvail = vidobj.FramesAvailable;结束
%停止收购。停止(vidobj)
%视图框架的总数记录之前停止。numAcquired = vidobj.FramesAcquired;
numAcquired = 10
%检索所有记录数据。imageData = getdata (vidobj numAcquired);
%显示记录的框架之一。显示亮度图像(imageData (:,:,:, numAcquired))

查看记录数据。

查看最近记录图像数据没有从内存中提取,使用PEEKDATA函数与视频输入对象的帧数的观点。查看使用PEEKDATA记录数据不会删除任何记录数据从内存。

%的数量配置帧记录触发。vidobj。FramesPerTrigger = 35;
%发起收购。开始(vidobj)
%等待收购完成。等待(vidobj 3);
%验证帧记录到内存的数量。numAvail = vidobj.FramesAvailable
numAvail = 35
%访问记录的数据没有从内存中提取它们。imageData = peekdata (vidobj numAvail);
%验证所有帧记录在内存中仍然可用。numFramesAvailable = vidobj.FramesAvailable
numFramesAvailable = 35

一旦不再需要视频输入对象,删除和清除相关的变量。

删除(vidobj)清晰vidobj