이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
디스크에 데이터 기록
R2026b이 예제에서는 디스크 기록에 대한 기록 속성을 구성한 다음 기록에 대한 수집을 시작하는 방법을 보여줍니다.
기록 모드 구성
이미지 수집 장치에서 수집된 데이터는 메모리, 디스크 또는 둘 다에 기록될 수 있습니다. 기본적으로 데이터는 메모리에 기록됩니다. 기록 모드를 변경하려면 비디오 입력 객체의 LoggingMode 속성을 구성합니다.
% Access an image acquisition device, using a grayscale video format with % 10 bits per pixel. vidobj = videoinput('gige', 1, 'Mono10'); % View the default logging mode. currentLoggingMode = vidobj.LoggingMode;
currentLoggingMode = memory
% List all possible logging modes. set(vidobj, 'LoggingMode')
[ {memory} | disk | disk&memory ]
% Configure the logging mode to disk. vidobj.LoggingMode = 'disk'; % Verify the configuration. currentLoggingMode = vidobj.LoggingMode;
currentLoggingMode = disk
디스크 기록 속성 구성
디스크에 기록하려면 MATLAB® VideoWriter 객체가 필요합니다. VideoWriter는 툴박스 함수가 아닌 MATLAB 함수입니다. VideoWriter 객체를 만들고 구성한 후 비디오 입력 객체의 DiskLogger 속성에 제공합니다.
VideoWriter는 다양한 형식으로 데이터를 기록하는 여러 가지 프로파일을 제공합니다. 이 예제에서는 단일 대역(회색조) 데이터뿐 아니라 다중 바이트 데이터도 기록할 수 있는 Motion JPEG 2000 프로파일을 사용합니다. VideoWriter에서 제공하는 프로파일의 전체 목록은 설명서에서 확인할 수 있습니다.
% Create a VideoWriter object. logfile = VideoWriter('logfile.mj2', 'Motion JPEG 2000')
VideoWriter
General Properties:
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:
% Configure the video input object to use the VideoWriter object.
vidobj.DiskLogger = logfile;
수집 시작
이제 비디오 입력 객체가 Motion JPEG 2000 파일에 데이터를 기록하도록 구성되었으므로 수집을 시작합니다.
% Start the acquisition. start(vidobj) % Wait for the acquisition to finish. wait(vidobj, 5)
대량의 데이터를 디스크에 기록할 때 디스크 쓰기가 데이터 수집보다 늦어지는 경우가 있습니다. 모든 프레임이 디스크에 기록되었는지 확인하려면 DiskLoggerFrameCount 속성을 사용하세요.
while (vidobj.FramesAcquired ~= vidobj.DiskLoggerFrameCount) pause(.1) end
FramesAcquired 속성과 DiskLoggerFrameCount 속성이 같은 값을 가지는지 확인하세요.
vidobj.FramesAcquired
ans =
10
vidobj.DiskLoggerFrameCount
ans =
10
% When the video input object is no longer needed, delete % it and clear it from the workspace. delete(vidobj) clear vidobj