Use Advanced Property Support with Point Grey Camera
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.
Change Properties While the Acquisition Is Running
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 Explorer. While the acquisition is running, you can not change a property on the Device Properties tab.
Update Property Constraints Dynamically
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.