OpenCV的源代码编译

上周开始转了项目组,涉及到OpenCV这东西,以前光听说但没有实际用过,也不清楚它究竟是做什么的。

如今开始要用它了,其实它能做啥,如何做,还真不太清楚,只是有听说人工智能的应用,好高大上啊,所以赶紧开始研究它


其他工程师已经写了个图片标注工具,但确实不太好用,所以我想把它改变一下,原以为用他们的代码直接修改,一问才知道用了OpenCV,还说三行代码就可以了,wk,这么简单啊,再问得多,别人似乎不太想说,机密机密不可泄露,没办法,真得从头开始摸索了


本篇文章说明如何编译,其实也是从网上搜索后自己再摸索一下,虽然中间也出现了一点小插曲,但比起原来qt的安装还真是爽到天上了

这个OpenCV的编译,是我经历过的不多的开源项目安装或者编译中最容易的一个

现项目组使用的是OpenCV2.4版本的,我总是喜欢用最新的代码,所以我就直接从网上搜索下载了个OpenCV3.3.0的源代码。

其实我是下载了两个,一个是opencv-3.3.0.zip,一个是opencv-3.3.0-vc14.exe。后面这个exe自解压后,有两个目录,一个是build,一个是sources,其中build里的文件数量似乎不足,只有几个,所以这个exe我就没有怎么管了,后面的操作都是针对zip这个文件的。


说明:

1. 需要准备工具cmake-gui,用于对解压后的cmake文件进行操作,使其自动生成vs的编译工程。我使用的是CMake3.4.3版本,其它版本没有试过,不确定会不会有什么麻烦

2. 使用vs2015编译


首先解压,得到的目录结构和exe解压后的sources里的一样。部分目录如下所示:

Q:\soft\prog\OpenCv\opencv-3.3.0\3rdparty\

Q:\soft\prog\OpenCv\opencv-3.3.0\apps\

Q:\soft\prog\OpenCv\opencv-3.3.0\cmake\

Q:\soft\prog\OpenCv\opencv-3.3.0\data\


为了方便对文件的管理,在解压后的目录中创建一个新目录build,所有的工程文件都准备放到此目录中。

Q:\soft\prog\OpenCv\opencv-3.3.0\build\


打开cmake-gui工具,选择源代码目录(Where is the source code)Q:\soft\prog\OpenCv\opencv-3.3.0\data\,选择保存到的目录(Where to build the binaries)Q:\soft\prog\OpenCv\opencv-3.3.0\build\

然后根据列表框下面的提示,先“Configure”,我记得大约10分钟左右结束,列表框中显示很多红色,不用担心,再“Generate”后等待几分钟就全部结束了。然后在build目录下可以看到生成了vs2015的工程文件


用vs2015打开build下面的OpenCV.sln工程,估计要等一会儿才行,可以看到大约加载了70多个工程,直接编译,大约20分钟全部编译成功。

然后我再选择release编译,结果,出现了大量的错误,实在是弄不清楚为什么,后来也不管它了,接下来我在用的时候提示缺少相应的文件,然后从缺少的第一个开始一个工程一个工程地手动编译,结果它就全部编译通过了,晕。


编译后,生成的dll文件在build/bin目录中,lib文件在build/lib目录中


为了后期的使用方便,我对include目录进行了整理,原代码中的include目录太过分散,对vs不好设置路径,所以我在根目录中建立了一个新的目录libs:

Q:\soft\prog\OpenCv\opencv-3.3.0\libs\

然后把以下目录中的include目录全部拷贝进来,如果有提示合并或者覆盖,点确定即可:

Q:\soft\prog\OpenCv\opencv-3.3.0\

Q:\soft\prog\OpenCv\opencv-3.3.0\modules下各子目录中

Q:\soft\prog\OpenCv\opencv-3.3.0\build\

总共估计有10好几个目录中有include目录,这样拷贝之后,在vs中添加Q:\soft\prog\OpenCv\opencv-3.3.0\libs\的三个目录到包含目录选项中就可以了:

Q:\soft\prog\OpenCv\opencv-3.3.0\libs\include

Q:\soft\prog\OpenCv\opencv-3.3.0\libs\include\opencv

Q:\soft\prog\OpenCv\opencv-3.3.0\libs\include\opencv2


在使用的时候,直接包含opencv2/opencv.hpp即可

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值