Use advanced property support with Point Grey cameras to change properties while the acquisition is running. Additionally, when changing the value of a property, you also dynamically update the constraint values of other properties that depend on it.
You can change the value of the video source property of a Point Grey camera while image
acquisition is running. This ability is useful for device-specific properties that you want
to change dynamically, such as brightness, exposure, or frame rate. In this example, start
acquisition from the videoinput
object and then set the
Exposure
property.
Create the videoinput
object using the Point Grey adaptor and get the
video
source.
vid = videoinput(“pointgrey”); src = vid.Source;
Set the number of frames per trigger on the source.
vid.FramesPerTrigger = Inf;
Start acquiring frames.
start(vid)
View the Exposure
property information to determine whether the
property can be changed while acquisition is
running.
propinfo(src,"Exposure")
ans = struct with fields: Type: 'double' Constraint: 'bounded' ConstraintValue: [-7.5850 2.4136] DefaultValue: -0.0614 ReadOnly: 'never' DeviceSpecific: 1 Accessible: 1
ReadOnly
is 'never'
, you can change this property
during acquisition. The current value is -0.0614
and the maximum and
minimum constraints are [-7.5850 2.4136]
.Change the value of the Exposure
property during the
acquisition.
src.Exposure = 2;
Stop the image acquisition when you are done.
stop(vid)
Note
This workflow is not supported in the Image Acquisition Tool. While the acquisition is running, you can not change a property on the Device Properties tab.
If you change a property that results in a change of possible values, or constraint
change, for another property, the constraint values of the other property are updated
dynamically. Consider a Point Grey camera that has a region of interest that is already set
to [0 0 612 512]
. The values limit the FrameRate
property to a specific minimum and maximum value, depending on the
ROIPosition
value. Changing the region of interest to a lower value
increases the FrameRate
property constraints. In this example, you set
ROIPosition
to [0 0 320 240]
, and you call
propinfo
on the FrameRate
property to show the
updated property constraint values.
Create the videoinput
object using the Point Grey adaptor and get the
video
source.
vid = videoinput(“pointgrey”); src = vid.Source;
View the region of interest.
vid.ROIPosition
ans = 0 0 612 512
View the FrameRate
property
information.
propinfo(src,"FrameRate")
ans = struct with fields: Type: 'double' Constraint: 'bounded' ConstraintValue: [1 29] DefaultValue: 2.5000 ReadOnly: 'never' DeviceSpecific: 1 Accessible: 1
[1 29]
.Set the ROIPosition
property to [0 0 320 240]
and
view the FrameRate
property again to see the updated
values.
vid.ROIPosition = [0 0 320 240];
propinfo(src,"FrameRate")
ans = struct with fields: Type: 'double' Constraint: 'bounded' ConstraintValue: [1 34] DefaultValue: 2.5000 ReadOnly: 'never' DeviceSpecific: 1 Accessible: 1
[1 34]
because the region of interest
is lowered.Note
In the Image Acquisition Tool, on the Device Properties tab, you can see that frame rate property constraints are dynamically updated when you change the region of interest on the Region of Interest tab.