无法使用OpenCV从火线摄像头捕获图像



我正在尝试使用Windows XP上的OpenCV 2.3.1从Claron MicronTracker cam (FireWire)捕获图像。cvCaptureFromCAM函数不工作。我读到OpenCV无法从Windows平台下的USB以外的数码相机获取数据-这是真的吗?在Windows上使用OpenCV从火线摄像头获取数据没有解决方案?

请帮帮我。

你当然可以在Windows上使用OpenCV与火线摄像机。我已经使用了几个不同的火线相机供应商(Point Grey, Imaging Source等)。不幸的是,您将无法使用OpenCV VideoCapture类来做到这一点。

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

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

EDIT:我今天发现OpenCV自2010年5月以来已经内置了对CMU兼容相机的支持。实现这个的类在这里。我不相信这是默认情况下编译到库中的。所以,你必须自己从源代码构建OpenCV。您需要取消//#define HAVE_CMU1394 1行注释才能使其正常工作。希望这对你有帮助!

相关内容

  • 没有找到相关文章

最新更新