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