opencv是intel主导的世界上最流行的图像处理视觉算法开源算法库。做图像相关或者机器视觉算法的程序员同学们人手一份。
官网上给出的opencv 的预编译版本库可能不是你想要的。我们希望添加第三方功能模块和库或者针对特定cpu和gpu的编译调整优化选项,这样的需求就需要自己去编译opencv了。下面把我自己的编译配置过程记录一下,仅供参考。
1,下载opencv源码压缩包并解压,我下的opencv3.3.1版本。还有cmake编译工具下载好,我下的cmake3.12.0版本。下载路径自己百度一下就有了。
2,打开cmake工具,配置opencv 源码路径和将要生成的vs编译工程路径,对应如下图:
3,点击configure按钮弹出下图界面,选择自己的编译工具,我选的vs2015,64位版本。
4,确定后在选项搜索栏输入test,去掉test相关的编译选项,可以节省编译时间,如下图
5,接下搜索tbb来勾选添加tbb选项,tbb是intel开发的高性能并行线程库,自己搜索预先下载安装好就可以,如图
多点一次configure后cmake会自己找到tbb的安装路径,在我自己的电脑上tbb安装位置如图
6,同样的方法勾选MFX,MFX是intel media sdk,它对视频文件有针对intel cpu的硬件加速编解码操作,这个选项肯定要加。要注意的是intel media sdk也要事先下载安装好。在我机器上的事先已经安装过了。如图:
点configure,cmake变化如下
7,接下来多点两次configure,直到cmake界面没有红色选项,然后点击generate生成vs编译工程。
在这最后的步骤可以停下来多看看cmake界面下生成的configure配置报告,里面有很多编译配置的细节,可以发现不少东西,如我的截图如下
8,确认核对cmake的编译配置没问题后,打开vs2015进行编译,右键点击install工程生成。
我把解决方案的vs的自带的微软的编译器全部更改为intel c++编译器了,intel编译器在x86的机器上编译出的程序性能比微软的高大概30%,intel还是比别人懂自家的cpu。建议同学们可以试下intel c++编译器。
要注意的是Ilmlmf工程和下面的opencv_core_fp16工程用intel c++编译有问题,改回为vs的编译器。
解决方案里所有的编译项目生成下来大概20分钟,看机器性能。
好累,简单的记录,截图,还要组织语言,写作不易啊。
所有的步骤都经过验证,如果有问题,可以给我留言,转载请注明出处,谢谢大家。