简述:最近需要用到opencv的高级算法库,比如目标跟踪、特征提取等。这些高级算法库都封装在一个单独的模块contrib。opencv官方下载的window下的exe文件,双击安装后的opencv文件是已经编译好的文件,这里面是不包含contrib模块的。所以,我们需要自己编译一个带有contrib模块的opencv库。准备编译工具Cmake,opencv和contrib源代码。
Cmake链接(我自己优快云下载的,上传百度云共享给有需要的同学):https://pan.baidu.com/s/1HZ1Db4JFNVKkL_kETtRGuQ
提取码:vab4
opencv_contrib:https://github.com/opencv/opencv_contrib
opencv:https://github.com/opencv/opencv
问题1:opencv 和 opencv_contrib版本必须要一致,现在GitHub的版本已经是4.2版本了,直接把下好就行了。我遇到的坑,opencv用本地以前下好的3.4.1版本,而opencv_contrib用的是最新的,那么编译可想而知,会出现各种意想不到的问题。
问题2:在编译过程中,出现下载文件失败的问题。既然不能自动下载,那么就手动下载文件放在指定位置(./cache)。下载失败的文件都是0KB,我们将手动下载的文件名重命名为下载失败的文件名,并且删除下载失败的文件名。我们需要查看CmakeDownloadlog.txt,比如:
#check_md5 “D:/opencv-3.4.0/opencv/sources/.cache/ffmpeg/3ae76b105113d944984b2351c61e21c6-op