使用OpenCV与biicode dependency manager
目标
在本教程中,您将学习如何:
- 开始使用OpenCV使用biicode。
- 在OpenCV中使用biicode开发自己的应用程序。
- 在OpenCV版本之间切换。
什么是biicode?
biicode解决并跟踪C / C ++项目中的依赖关系和版本兼容性。使用biicode 钩子功能,C ++和C中开始使用OpenCV是非常简单的。只需编写一个包含OpenCV标题,biicode将在您的计算机中检索和安装OpenCV并配置您的项目。
先决条件
- biicode。这是一个在任何操作系统上安装它的链接。
- Windows用户:任何Visual Studio版本(首选Visual Studio 12)。
说明
示例:使用OpenCV中的Objdetect模块检测图像中的面
一旦安装了biicode,请在您的终端/控制台执行:
$ bii init mycvproject
$ cd mycvproject
$ bii open diego / opencvex
Windows用户还执行:
$ bii cpp:configure -G“Visual Studio 12”
现在执行bii cpp:build构建项目。
- 注意
- 这可能需要一段时间才能下载并构建OpenCV。但是,这只能在您的机器中下载到您的“user / .biicode”文件夹。如果OpenCV安装过程失败,您可以直接在那里删除“user / .biicode”中的OpenCV文件,然后重复。
$ bii cpp:build
在bin文件夹中找到您的二进制文件:
$ cd bin
$ ./diego_opencvex_main
$ ./diego_opencvex_mainfaces
开发自己的应用程序
biicode与源代码文件中的include标题一起使用,它读取它们并检索其数据库中的所有依赖项。所以就像键入一样简单:
#include“diego / opencv / opencv / cv.h”
在您的.cpp文件的标题。
要使用OpenCV启动新项目,请执行:
$ bii init mycvproject
$ cd mycvproject
下一行只需在“块”中创建一个myuser / myblock文件夹,其中包含一个简单的“Hello World” main.cpp。您也可以手动执行:
$ bii new myuser / myblock --hello = cpp
现在用您的应用程序代码替换block / myuser / myblock中的main.cpp内容。将包含作为:
#include“diego / opencv / opencv / cv.h”
如果输入:
$ bii deps
你会检查这opencv/cv.h是一个“未解决”的依赖。你可以找到它:
$ bii find
现在,你可以按照上述的方式bii cpp:configure和bii cpp:build你的项目。
要使用常规的include指令,请在biicode.conf文件中配置它们。让你的包括:
#include“opencv / cv.h”
并写在你的biicode.conf中:
[includes]
opencv/cv.h: diego/opencv
[requirements]
diego/opencv: 0
切换OpenCV版本
如果要根据OpenCV 2.4.10和3.0-beta尝试或开发应用程序,请在biicode.conf文件中更改应用程序,只需在以下操作中交替跟踪[requirements]:
[requirements]
diego/opencv: 0
用下面这个来代替:
[requirements]
diego/opencv(beta): 0
- 注意
- 第一次切换到3.0-beta,也需要一段时间才能下载并构建3.0-beta版本。从那时起,您可以通过修改biicode.conf要求在版本之间来回更改。
查找hooks和examples::
- OpenCV 2.4.10
- OpenCV 3.0 beta
- 来自OpenCV的objdetect模块
这只是一个例子,它如何用biicode python hooks来完成。可能现在CMake文件重用是可能的biicode,它可能更好的实现它与CMake,以获得更多的控制OpenCV的构建。
结果和结论
使用biicode安装OpenCV对于任何操作系统都是直接的。
运行任何示例,就像您刚刚从OpenCV的objdetect模块一样,或者开发自己的应用程序。它只需要一个biicode.conf文件来使OpenCV库在您的计算机中工作。
OpenCV版本之间的切换也是可行的,也是轻松的。
对于有关biicode的任何疑问或进一步的信息,请在Stackoverflow,biicode的论坛或询问biicode,我们将很乐意为您提供帮助。