Этот пример показывает, как получить доступ и сконфигурировать видео свойства приобретения.
Чтобы получить доступ к полному списку свойств объекта и их текущих значений, используйте функцию get
с объектом.
% Create a video input object. vidobj = videoinput('dcam', 1); % List the video input object's properties and their current values. get(vidobj)
General Settings: DeviceID = 1 DiskLogger = [] DiskLoggerFrameCount = 0 EventLog = [1x0 struct] FrameGrabInterval = 1 FramesAcquired = 0 FramesAvailable = 0 FramesPerTrigger = 10 Logging = off LoggingMode = memory Name = RGB24_640x480-dcam-1 NumberOfBands = 3 Previewing = off ReturnedColorSpace = rgb ROIPosition = [0 0 640 480] Running = off Tag = Timeout = 10 Type = videoinput UserData = [] VideoFormat = RGB24_640x480 VideoResolution = [640 480] Callback Function Settings: ErrorFcn = @imaqcallback FramesAcquiredFcn = [] FramesAcquiredFcnCount = 0 StartFcn = [] StopFcn = [] TimerFcn = [] TimerPeriod = 1 TriggerFcn = [] Trigger Settings: InitialTriggerTime = [] TriggerCondition = none TriggerFrameDelay = 0 TriggerRepeat = 0 TriggersExecuted = 0 TriggerSource = none TriggerType = immediate Acquisition Sources: SelectedSourceName = input1 Source = [1x1 videosource]
% Access the currently selected video source object src = getselectedsource(vidobj); % List the video source object's properties and their current values. get(src)
General Settings: Parent = [1x1 videoinput] Selected = on SourceName = input1 Tag = Type = videosource Device Specific Properties: AutoExposure = 511 AutoExposureMode = auto Brightness = 304 BrightnessMode = auto FrameRate = 15 Gain = 87 Gamma = 1 Saturation = 90 Sharpness = 80 Shutter = 6 WhiteBalance = [95 87] WhiteBalanceMode = auto
Чтобы получить доступ к определенному значению свойства, используйте функцию get
с объектом и именем свойства.
framesPerTriggerValue = vidobj.FramesPerTrigger;
framesPerTriggerValue = 10
brightnessValue = src.Brightness;
brightnessValue = 304
Также мы можем получить доступ к определенному значению свойства при помощи точечного (.) обозначения.
framesPerTriggerValue = vidobj.FramesPerTrigger
framesPerTriggerValue = 10
brightnessValue = src.Brightness
brightnessValue = 304
Перечислимые свойства имеют заданный набор возможных значений. Чтобы перечислить перечисляемые значения свойства, используйте функцию set
с объектом и именем свойства. Значение по умолчанию свойства перечислено в фигурных скобках.
set(vidobj, 'LoggingMode')
[ {memory} | disk | disk&memory ]
Чтобы получить доступ к полному списку конфигурируемых свойств объекта, используйте функцию set
с объектом.
% List the video input object's configurable properties.
set(vidobj)
General Settings: DiskLogger FrameGrabInterval FramesPerTrigger LoggingMode: [ {memory} | disk | disk&memory ] Name ReturnedColorSpace: [ {rgb} | grayscale | YCbCr ] ROIPosition Tag Timeout UserData Callback Function Settings: ErrorFcn: string -or- function handle -or- cell array FramesAcquiredFcn: string -or- function handle -or- cell array FramesAcquiredFcnCount StartFcn: string -or- function handle -or- cell array StopFcn: string -or- function handle -or- cell array TimerFcn: string -or- function handle -or- cell array TimerPeriod TriggerFcn: string -or- function handle -or- cell array Trigger Settings: TriggerFrameDelay TriggerRepeat Acquisition Sources: SelectedSourceName: [ {input1} ]
% List the video source object's configurable properties.
set(src)
General Settings: Tag Device Specific Properties: AutoExposure AutoExposureMode: [ {auto} | manual ] Brightness BrightnessMode: [ {auto} | manual ] FrameRate: [ {15} | 7.5 | 3.75 ] Gain Gamma Saturation Sharpness Shutter WhiteBalance WhiteBalanceMode: [ {auto} | manual ]
Чтобы сконфигурировать значение свойства объекта, используйте функцию set
с объектом, именем свойства и значением свойства.
vidobj.TriggerRepeat = 2; src.Saturation = 100;
Также мы можем сконфигурировать определенное значение свойства при помощи точечного (.) обозначения.
vidobj.TriggerRepeat = 2; src.Saturation = 100;
Чтобы получить описание свойства, используйте функцию imaqhelp
с объектом и именем свойства. imaqhelp
может также использоваться для функциональной справки.
imaqhelp(vidobj, 'LoggingMode')
LOGGINGMODE [ {memory} | disk | disk&memory ] (Read-only: whileRunning) LoggingMode specifies the destination for acquired data. LoggingMode can be set to disk, memory,or disk&Memory. If LoggingMode is set to disk, then acquired data is streamed to a disk file as specified by the DiskLogger property. If LoggingMode is set to memory, acquired data is stored in a memory buffer. If LoggingMode is set to disk&Memory, then acquired data is stored in memory and is streamed to a disk file as specified by the DiskLogger property. When logging to memory, you must extract the data in a timely manner with the GETDATA function. If the data is not extracted in a timely manner, memory resources may be used up. The value of LoggingMode cannot be modified while the object is running. See also DiskLogger, IMAQDEVICE/GETDATA.
Чтобы получить информацию об атрибутах свойства, используйте функцию propinfo
с объектом и именем свойства.
propinfo(vidobj, 'LoggingMode')
ans = Type: 'string' Constraint: 'enum' ConstraintValue: {'memory' 'disk' 'disk&memory'} DefaultValue: 'memory' ReadOnly: 'whileRunning' DeviceSpecific: 0
Когда объект получения изображений больше не будет необходим, удалите его из памяти и очистите рабочую область MATLAB® связанной переменной.
delete(vidobj);
clear vidobj