MATLAB: Increase frame grabbing speed with a Matrox Grabber Card

frame grabberimage acquisitionImage Acquisition ToolboxMATLABmatrox

I use a Vieworks VC-2MC-M340E0 high-speed camera attached via CameraLink to a Matrox Solios eV-CL frame grabber and want to continuously acquire video frames in Matlab.
The matrox IntelliCam software can acquire pictures from this camera with approx. 600 to 700 fps. In Matlab I use matroxcam() to create an object from which I then read frames using snapshot(). This works fine, in principle; the framerate, however, is much lower than in IntelliCam, around 60 to 70 fps, which is insufficient for my purpose. Unfortunately, the Matrox frame grabber does not allow the use of videoinput(). I have used videoinput() in the past with other cameras and it allows setting the FramesAcquiredFcn for the video input object, which is much faster than acquiring each individual frame with a call to snapshot() (or getsnapshot(), in that case).
At the moment snapshot() seems to be the only way to acquire video frames from Matrox frame grabbers. Is there a way that I am not aware of or is there another approach to increase the grabbing speed in my setup somehow?

Best Answer

Hello,
You can still use videoinput function to acquire from MATLAB alongside matroxcam. For this, you will need to install Matrox Imaging Library (MIL) v9.
For the lower framerate issue, can you please open a support ticket with Mathworks. You can send an email to support@mathworks.com or visit http://www.mathworks.com/support/contact_us/ to open a service request.
Thanks.