记录Opencv_contrib补充编译的那些坑
想要使用opencv_contrib包中一些目标跟踪算法,只能再度重回这个坑。
-------------------------------------------- 前期准备: -------------------------------------------------------
1.Cmake
2.Opencv-3.4.0
3.Opencv_contrib_3.4.0
4.良好的心理素质
首先,新建Mybuild文件夹用于存放新编译的文件。
打开CMake-gui.exe , 选择相应的文件夹,然后Config ,会出现很多选项
注意!!Config过程中会出现例如IPPC下载失败的问题(即会跳出红字)
解决方法:
1.找到文件D:\Opencv\opencv\Mybuild\CMakeDownloadLog.txt 并找到相应下载失败文件的下载地址,类似下图这种,然后下载该文件。
2.根据相应的报错信息路径,找到存放下载文件的地方,我的地址是D:\Opencv\opencv\sources.cache\ippicv会发现下载失败但是存在名字的文件。
3.将我们下载后的文件重命名(具体名字可以看CMakeDownloadLog.txt 或者下载目录下的下载失败文件名),然后将文件扔到类似上面的目录中。
4.再次Config后即可(其他下载不了的文件类似以上步骤)
Config后,在cmake中search EXTRA ,在value中填入opencv_contrib的目录
继续search with_CUDA 、BUILD_PERF_TESTS、BUILD_TEST、包括一些BUILD_opencv_python3 这些不需要的编译选项,将其取消(之前未取消cuda选项导致编译了大半天、perf_test编译选项可能会导致报错)
最后search nonfree 将其勾上
然后点击Config - generate 就可以开始使用VisualStudio开始编译了。
打开Opencv.sln解决方案,选择批生成,勾选ALL_BUILD以及INSTALL总共4项,开始生成------>结束!
接下来就是Opencv的相关配置了,具体的不提了,许多教程都有,记录一个我出错的点,Error:无法定位程序输入点 。
解决方案: 将D:\Opencv\opencv\Mybuild\install\x64\vc14\bin 的所有dll文件扔到system32文件中即可。
小tips:如果是包含头文件失败或者提示无法打开源文件 ,需要检查系统环境变量中有无类似这样的路径(D:\Opencv\opencv\Mybuild\install\x64\vc14\bin)