OpenCV C++ VS Studio编译问题整理
OpenCV是一个开源的计算机视觉和机器学习软件库。官网或者github都有可以直接使用的安装包,但有时需要根据自己的实际需求,(比如是否需要用到cuda),利用源码重新编译。源码可以在github上下载,下载自己所需版本。由于编译过程遇到不少坑,所以总结整理一下。
实际编译需求以及做法流程如下:
-
新建一个文件夹,将工程编译于此。
-
相关需求下载以及配置:
-
OpenCV 3.4:下载对应版本的opencv 3.4和opencv_contrib 3.4,并且在cmake中extra module添加opencv_contrib 3.4中module的路径。
-
AVX2 支持:修改cpu dispatch。
-
只需release版本:cmake查找到release把debug去掉。
-
ipp(Integrated Performance Primitives)支持:不用下载,勾选with ipp即可。
-
tbb(threading building blocks)支持:需要下载tbb,然后勾选with tbb,configure后继续填相关配置,一般都是填tbb相关lib的路径名。最新的onetbb路径总是有not found,后来找2020年release的tbb成功配置。
-
cuda 11.0:下载对应cuda驱动,然后在camke中配置。网络上有参考。
-
-
打开vs studio,右键install生成,完成编译。大概十几分钟左右。理想状态就是生成过程没有报错。
基本大部分配置都可以在cmake的GUI界面完成配置,有些则需要自己下载。cmake配置时的注意事项是有些需要多次配置,即多次configure。configure后需要generate。同时cmake配置时有些组件会下载失败,可能要多configure几次或者自己手动下载。