Win10下借助Camke编译OpenCV+OpenCV contrib,没有遇到无法解决的问题。
软件下载:主要包括OpenCV和其对应版本的Contrib的下载、Camke和VS软件的下载及安装等。可以参考其他文章,这里不在赘述。
Camke选项:主要有一下几个,其他默认就行
BUILD_opencv_world 选中后,会生成一个DLL
OPENCV_EXTRA_MODULES_PATH 输入Contib的modules路径
CMAKE_INSTALL_PREFIX 输入INSTALL的地址,会将库抽取到该地址
OPENCV_SHARED_LINS 选中后,生成动态库
OPENCV_ENABLE_NONEFREE 选中后,会将非免费的算法编译进来
主要麻烦:3rdparty或contrib中一些Cmakelist.txt的文件链接失效所导致无法下载的文件。
解决方法:根据点击Cofigure/Generate后Cmake窗口所提供的信息,查找相应的Cmakelist.txt及其中的报错位置,将该位置的网址替换为可有效下载该文件的地址或者已经下载到本地文件的路径。有些文件不需要修改Cmakelist.txt,只需要把文件下载下来放到相应地址下。
经过多次的Cofigure/Generate,我总共遇到了:boostdesc、ffmpeg、ippicv_win、vgg、WeChat、face_landmark_model.dat、ippicv_2020_win_intel64_20191018_general.zip等文件缺失问题。经过搜索最终搜集完整,并完成了编译。(没记录网址,需要可私发)
此外,遇到的问题及解决方法:
HASH值错误。下载的文件的HASH值与Cmakelist.txt中原油的值不匹配--在Cofigure/Generate时,该错误(不匹配)同样会报出来,并且会给出下载文件的HASH值。此时只需在相应的Cmakelist.txt中找出设定该文件HASH值的行,将HASH修改为下载文件的HASH值即可。
在生成ALL_BUILD之后,生成INSTALL时,报错:sct(7)。网上的方法基本都不行,因为这是install时少了文件二报的错。查看生成过程的“输出”,提示的是某个路径下找不到某个文件。同理,下载该文件放到相应目录即可。