Configuring Image Acquisition Object Properties
About Image Acquisition Object Properties
The video input object and the video source object both support properties that enable you to control characteristics of the video image and how it is acquired.
The video input object properties control aspects of an acquisition that are common to
all image acquisition devices. For example, you can use the
FramesPerTrigger
property to specify the amount of data you want to
acquire.
The video source object properties control aspects of the acquisition associated with a
particular source. The set of properties supported by a video source object varies with each
device. For example, some image acquisition devices support properties that enable you to
control the quality of the image being produced, such as Brightness
,
Hue
, and Saturation
.
With either type of object, you can use the same toolbox functions to
View a list of all the properties supported by the object, with their current values
View the value of a particular property
Get information about a property
Set the value of a property
Note
Three video input object trigger properties require the use of a special configuration function. For more information, see Setting Trigger Properties.
Viewing the Values of Object Properties
To view all the properties of an image acquisition object, with their current values,
use the get
function. You can also use the inspect
function to view a list of object properties in the Property Inspector window, where you can
also edit their values.
This example uses the get
function to display a list of all the
properties of the video input object vid
. Viewing the Properties of a Video Source Object describes how
to do this for video source objects.
If you do not specify a return value, the get
function displays the
object properties in four categories: General Settings, Callback Function Settings, Trigger
Settings, and Acquisition Sources.
get(vid) General Settings: DeviceID = 1 DiskLogger = [] DiskLoggerFrameCount = 0 EventLog = [1x0 struct] FrameGrabInterval = 1 FramesAcquired = 0 FramesAvailable = 0 FramesPerTrigger = 10 Logging = off LoggingMode = memory Name = M_RS170-matrox-1 NumberOfBands = 1 Previewing = off ReturnedColorSpace = grayscale ROIPosition = [0 0 640 480] Running = off Tag = Timeout = 10 Type = videoinput UserData = [] VideoFormat = M_RS170 VideoResolution = [640 480] Callback Function Settings: ErrorFcn = @imaqcallback FramesAcquiredFcn = [] FramesAcquiredFcnCount = 0 StartFcn = [] StopFcn = [] TimerFcn = [] TimerPeriod = 1 TriggerFcn = [] Trigger Settings: InitialTriggerTime = [0 0 0 0 0 0] TriggerCondition = none TriggerFrameDelay = 0 TriggerRepeat = 0 TriggersExecuted = 0 TriggerSource = none TriggerType = immediate Acquisition Sources: SelectedSourceName = CH0 Source = [1x8 videosource]
Viewing the Properties of a Video Source Object
To view the properties supported by the video source object (or objects) associated
with a video input object, use the getselectedsource
function to
retrieve the currently selected video source object. This example lists the properties
supported by the video source object associated with the video input object
vid
. Note the device-specific properties that are included.
Note
The video source object for your device might not include device-specific
properties. For example, devices accessed with the 'winvideo'
adaptor, such as webcams, that use a Video for Windows® (VFW) driver, may not provide a way for the toolbox to programmatically
query for device properties. Use the configuration tools provided by the manufacturer to
configure these devices.
get(getselectedsource(vid)) General Settings: Parent = [1x1 videoinput] Selected = on SourceName = CH0 Tag = Type = videosource Device Specific Properties: InputFilter = lowpass UserOutputBit3 = off UserOutputBit4 = off XScaleFactor = 1 YScaleFactor = 1
Viewing the Value of a Particular Property
To view the value of a particular property of an image acquisition object, access the value of the property as you would a field in a MATLAB® structure.
This example illustrates how to access a property by referencing the object as if it were a MATLAB structure using dot notation.
vid.Previewing ans = off
Getting Information About Object Properties
To get information about a particular property, see videoinput
Properties. You
can also get information about a particular property at the command line by using the
propinfo
or imaqhelp
functions.
The propinfo
function returns a structure that contains information
about the property such as its data type, default value, and a list of all possible values,
if the property supports such a list. This example uses propinfo
to get
information about the LoggingMode
property.
propinfo(vid,'LoggingMode') ans = Type: 'character vector' Constraint: 'enum' ConstraintValue: {'memory' 'disk' 'disk&memory'} DefaultValue: 'memory' ReadOnly: 'whileRunning' DeviceSpecific: 0
The imaqhelp
function returns reference information about the
property with a complete description. This example uses imaqhelp
to get
information about the LoggingMode
property.
imaqhelp(vid,'LoggingMode')
Setting the Value of an Object Property
To set the value of a particular property of an image acquisition object, you assign the value to the property as you would a field in a MATLAB structure, using dot notation.
Note
Because some properties are read-only, only a subset of all video input and video source properties can be set.
This example sets the value of a property by assigning the value to the object as if it were a MATLAB structure.
vid.LoggingMode = 'disk'; % Verify the property setting. vid.LoggingMode ans = disk
Viewing a List of All Settable Object Properties
To view a list of all the properties of a video input object or video source object
that can be set, use the set
function.
set(vid)
Setting Trigger Properties
The values of certain trigger properties, TriggerType
,
TriggerCondition
, and TriggerSource
, are
interrelated. For example, some TriggerCondition
values are only valid
with specific values of the TriggerType
property.
To ensure that you specify only valid combinations for the values of these properties, you must use two functions:
The
triggerinfo
function returns all the valid combinations of values for the specified video input object.The
triggerconfig
function sets the values of these properties.
For more information, see Specifying Trigger Type, Source, and Condition.
Note
To get a list of options you can use on a function, press the Tab key after entering a function on the MATLAB command line. The list expands, and you can scroll to choose a property or value. For information about using this advanced tab completion feature, see Using Tab Completion for Functions.