0

我正在尝试在 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 文件)并将它们编译在一起?

4

1 回答 1

0

Step 1 添加头文件

#include "precomp.hpp";
#include "cvconfig.h";

您可以在 CMake 生成的项目目录中找到 cvconfig.h 文件。

第 2 步将源文件添加cap_cmu.cpp到您的项目中

第 3 步链接正确的库(例如cmu1394.lib

force与你同在~

于 2016-03-23T03:33:42.687 回答