Setting DeviceProperties using imaq.VideoDevice
Show older comments
Hello all,
I am doing some machine vision code where we use step to acquire frame from a camera and then process them before stepping to the next frame. We use vid = imaq.VideoDevice to engage the camera.
I can easily set some properties, such as ROI but using the commands
set(vid, 'ROI', [1 1 640 240]);
ROI can be seen under the Properties when I simply call "vid".
However, I am not sure why I can't set other properties. I can call vid.DeviceProperties and see a long list of properties that we need to change, including binning and particularly VideoMode. However, when I call
set(vid, 'VideoMode', 'Mode7');
I receive the error
Error using imaq.VideoDevice/set (line 469) No public field VideoMode exists for class imaq.internal.VideoDeviceInternal.
How can I set the vid.DeviceProperties from my code?
Thank you in advance, Quentin
Answers (2)
Andrew Davies
on 9 Sep 2015
0 votes
You can do it with handles.
For example: vid = imaq.VideoDevice('gentl',1);
vid.DeviceProperties.AcquisitionRecordTriggerMode = 'On'; vid.DeviceProperties.FrameStartTriggerSource = 'Line1';
To see what handles you can change:
vid = imaq.VideoDevice('gentl',1); vid set(vid)
Shankar Subramanian
on 13 Oct 2015
Hi Quentin,
DeviceProperties is a separate object representing device specific properties and you can perform set operations on that to set the property values.
As an example:
deviceProps = vid.DeviceProperties;
set(deviceProps, 'VideoMode', 'Mode7');
The above should work.
HTH,
Shankar
Categories
Find more on Acquisition Using Image Acquisition Explorer in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!