cmake配置opencv_contrib, 下载出错的解决方案
搞了一下午,最开始想下载别人的,又怕版本不匹配,而且全部都要积分,所以还是自己解决吧
参考的博客
链接: 使用CMake进行OpenCV(含Contrib)环境搭建,编译及配置中出现的问题及解决.
链接: 【OpenCV】编译OpenCV时,FFmpeg或ippicv下载不成功的解决方案.
现象
因为不是同一台电脑,就不截图了
就是下载ffmpge、ippicv等不成功,因为网络的原因
解决方法
首先,进入链接: IPAddress.com. 网站查询raw.githubusercontent.com真实地址。因为cmake文件里都是从这个网站去下载的
然后找到这个文件。
C:\Windows\System32\drivers\etc\hosts
把hosts的后缀改成.txt然后编辑,在最后新建一行,加入你查找到的真实地址,应该跟我是一样的,我是2020年11月26号才查的地址
追加199.232.68.133 raw.githubusercontent.com如下:
图片:
这个方法,如果你网还可以的话,能够比较慢的全部下完。如果网不好的话,一些小文件可以下载完。我用这个把除了ippicv和face_landmark_model.dat都下完了。如果你是要进行特征点匹配这些操作,此时直接generate就行了,不用下载剩下的
还有没下完的话,就在cmake里查找没下完的东西的网址,在 URL 那下面两行,https://raw.githubusercontent.com/opencv/opencv_3rdparty/ 加上 cmake文件里XXXXX_COMMIT那一串字符,加上一些其他的,XXXXX_COMMIT可以在cmake文件开头或者哪找到,然后自己下载下来。
然后复制过去
这里where to build the binaries是指在 CMake 中指定的路径,就是build的路径。
将 ffmpeg 目录中的ffmpeg_version.cmake、 opencv_videoio_ffmpeg.dll opencv_videoio_ffmpeg_64.dll == 等自己下载的文件,复制到对应目录下复制到 where to build the binaries\opencv\3rdparty\ffmpeg 目录下。
将 ippicv_win== 文件夹复制到== where to build the binaries\opencv\3rdparty\ippicv ==目录下,ippicv 目录可能不存在,自己创建即可。ippicv_win 根据系统不同,可能为其它的名称,都在前面步骤中下载的文件中,解压即可。注意哦,自己解压。
然后再把cmake中对应的下载那注释掉,不然还会傻傻的尝试去下
图片:
然后重新cmake,就OK了,
对了,face_landmark_model.dat,我是放在contrib/downloads/xfeatures2d下的
以后再也不怕了~~