我正在尝试在 Win 7(64 位)上使用 OpenCV(C++)从 DCAM1394 相机获取视频。我试过VideoCapture,但它似乎只适用于网络摄像头而不是火线摄像头。然后我找到了一个线程;按照它的想法,我为我的火线相机安装了CMU1394 驱动程序,并尝试重新编译 opencv。
以下是我是如何做到的:
STEP1:运行1394camera646.exe文件安装CMU1394驱动,然后运行发布者提供的demo;它工作得很好,我认为这证明驱动程序已成功安装。
STEP2:然后我打开文件“{你提取opencv的地方}...\sources\modules\highgui\src\cap_cmu.cpp”(如图),并在“#”之前添加“#def HAVE_CMU1394 1” ifdef HAVE_CMU1394”,希望能够编译“#ifdef HAVE_CMU1394”之后的代码。
STEP3:修改“ cap_cmu.cpp ”后,我使用Cmake从源代码配置和生成文件,并使用 VS2013 Express 编译输出。这里弹出一个错误:“无法打开包含文件“1394camera.h ”。
通常情况下, OpenCV中默认不预编译文件“1394camera.h” ;由于在“#ifdef HAVE_CMU1394”之前添加“#def HAVE_CMU1394 1”而弹出错误(这正是我想要做的)。OpenCV 源没有文件"1394camera.h",它由 CMU1394 在其源文件1394camera646_src中提供。
所以,我的问题是:
1)我是否通过“安装 CMU1394 -> 重新编译 OpenCV”执行正确的程序?
2)我知道重新编译失败是因为编译器找不到“ 1394camera.h ”。但是如何在 OpenCV 源文件中包含该文件(以及1394camera646_src中的其他 .h/.cpp 文件)并将它们编译在一起?