无法使用OpenCV从FireWire cam捕获图像

无法使用OpenCV从FireWire cam捕获图像,opencv,windows-xp,firewire,Opencv,Windows Xp,Firewire,我试图在Windows XP上使用OpenCV 2.3.1从Claron Microtracker cam(FireWire)捕获图像。功能cvCaptureFromCAM不工作。我读到OpenCV在Windows平台下无法从除USB以外的数码相机获取数据——这是真的吗?没有在Windows上使用OpenCV从FireWire cam获取数据的解决方案 请帮帮我。您当然可以在Windows上使用带Firewire摄像头的OpenCV。我与几个不同的Firewire摄像机供应商(灰点、成像源等)合

我试图在Windows XP上使用OpenCV 2.3.1从Claron Microtracker cam(FireWire)捕获图像。功能
cvCaptureFromCAM
不工作。我读到OpenCV在Windows平台下无法从除USB以外的数码相机获取数据——这是真的吗?没有在Windows上使用OpenCV从FireWire cam获取数据的解决方案


请帮帮我。

您当然可以在Windows上使用带Firewire摄像头的OpenCV。我与几个不同的Firewire摄像机供应商(灰点、成像源等)合作过。不幸的是,您将无法使用OpenCV
VideoCapture
类来执行此操作

您可以选择使用驱动程序(假设上述摄像头与之兼容)或供应商的摄像头驱动程序捕获帧,并将这些数据缓冲区放置在a
cv::Mat
中。如果您需要对相机参数进行特定控制,最好使用供应商的驱动程序。这将给你最大的控制,但你紧紧地耦合到他们的相机。您可以将VideoCapture子类化,并在同一接口下实现供应商的驱动程序,以在某种程度上减轻耦合

是使用CMU驱动程序执行此操作的一个简短示例


编辑:我今天发现OpenCV自2010年5月起就内置了对CMU兼容摄像头的支持。实现此功能的类是。我不相信这是默认编译到库中的。所以,您必须自己从源代码构建OpenCV。您需要取消注释行
/#define haveu CMU1394 1
,以使其正常工作。希望这是有帮助的

谢谢你的回答,我会尽力按照你的解释去做。我按照图中所示的步骤操作,但是相机不接受CMU 1394作为它的新驱动程序。