You can use OpenCV with Firewire cameras in Windows. I did this with several different manufacturers of Firewire graphics cards (Point Gray, Imaging Source, etc.). Unfortunately, you cannot use the OpenCV VideoCapture
class to do this.
Your options should use the CMU1394 driver (provided that your aforementioned camera is compatible with it) or the provider camera driver to capture frames and place these data buffers in cv::Mat
. If you need specific control of camera settings, the best option would be to use a provider driver. This will give you maximum control, but firmly connect you to the camera. You can subclass VideoCapture
and implement the vendor driver under the same interface to slightly soften this connection.
Below is a brief example of this with the CMU driver.
EDIT: Today I found out that since May 2010, OpenCV has built in support for CMU-compatible cameras. The class that implements this,. I don't think this compiles to libraries by default. Thus, you will have to create OpenCV from the source yourself. You need to uncomment the line //#define HAVE_CMU1394 1
to make it work. Hope this will be helpful!
source share