Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Working with Properties

This example shows how to access and configure video acquisition properties.

Accessing Properties

To access a complete list of an object's properties and their current values, use the get function with the object.

% 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

To access a specific property value, use the get function with the object and property name.

framesPerTriggerValue = vidobj.FramesPerTrigger;
framesPerTriggerValue =

    10

brightnessValue = src.Brightness;
brightnessValue =

   304

Alternatively, we can access a specific property value by using the dot (.) notation.

framesPerTriggerValue = vidobj.FramesPerTrigger
framesPerTriggerValue =

    10

brightnessValue = src.Brightness
brightnessValue =

   304

Configuring Properties

Enumerated properties have a defined set of possible values. To list the enumerated values of a property, use the set function with the object and property name. The property's default value is listed in braces.

set(vidobj, 'LoggingMode')
[ {memory} | disk | disk&memory ]

To access a complete list of an object's configurable properties, use the set function with the object.

% 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 ]

To configure an object's property value, use the set function with the object, property name, and property value.

vidobj.TriggerRepeat = 2;
src.Saturation = 100;

Alternatively, we can configure a specific property value by using the dot (.) notation.

vidobj.TriggerRepeat = 2;
src.Saturation = 100;

Getting Property Help and Information

To obtain a property's description, use the imaqhelp function with the object and property name. imaqhelp can also be used for function help.

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. Use IMAQMEM to modify the amount of memory
    the toolbox can use.
    
    When logging to disk, you can specify a MATLAB AVIFILE object as a disk 
    logger using the DiskLogger property.
    
    The value of LoggingMode cannot be modified while the object is running.
    
    See also DiskLogger, IMAQDEVICE/GETDATA, IMAQMEM, AVIFILE.

To obtain information on a property's attributes, use the propinfo function with the object and property name.

propinfo(vidobj, 'LoggingMode')
ans = 

               Type: 'string'
         Constraint: 'enum'
    ConstraintValue: {'memory'  'disk'  'disk&memory'}
       DefaultValue: 'memory'
           ReadOnly: 'whileRunning'
     DeviceSpecific: 0

When an image acquisition object is no longer needed, remove it from memory and clear the MATLAB® workspace of the associated variable.

delete(vidobj);
clear vidobj
Was this topic helpful?