本文主要是参考别人的博文,来重新编译opencv3.2.0
参考连接:https://blog.****.net/u014710355/article/details/99826758
注意,所有的操作按照上面网页上来,以下是操作大体步骤,注意红色的文字。
一、准备工作
1、windows64位
2、opencv3.2.0源码
3、vs2015专业版
4、cmake-3.8.2-win64-x64
5、tbb2017_20170226oss_win
二、操作过程
1、安装TTB:这个很简单,解压tbb2017_20170226oss_win,放到合适的位置,然后再电脑的环境变量中配置对应的bin路径。如下图:
- 下载Cmake,放在合适的位置,配置相应的bin路径,方案跟上面类似。
- 下载修改为TBB加速的 train cascade 源码,按照blob上去更改对应的代码,但是windows下,更改的函数远不止这些。其中包含多个头文件和源文件代码的改动,具体的请参照我的代码。
- 将opencv源码拷贝一份出来到sources-dbt,用3步骤中的代码traincascade,替换sources-dbt\apps\traincascade。
- 打开Cmake,选择对应的路径。
点击Configure,弹出以下对话框,选择自己使用的VS,然后点击Finish。CM就在配置相应
的数据,完成后出现以下对话框:出现Configuring done,但是上方的选项中有红色,所以必须再次点击Configure,重新配置一下,直到上面的选项不再出现红色。注意:点击Configure后,如果没有出现Configuring done,说明配置的过程中CMake查找一些依赖项时候,没有找到,就会自动下载,但是这些库往往是国外网站,所以很容易下载失败,所以要注意自己查看报红色的区域。
之后沟上TBB,如下图,然后再点击Configurie。
如果要编译opencv_world320.dll,则勾选opencv_world,如下图:
最后保证界面不会出现红色区域,再点击Generate。
Generate好了之后,就会出现generate done。
- 打开输出路径下的OpenCV.sln
- 开启traincascade 的加速。修改为64位,release。然后打开traincascade属性配置,找到OpenMP,选择是。
- 然后再编译即可,编译好之后再对应的bin和lib下能找到编译好的dll和lib。