[吐血]opencv_contrib配置成功吐血经验(没准你也是因为这个)

写在前面

这两天老师要求做个实验,要用到sift、surf匹配算子,自己之前配置的是opencv343,这个版本用了一年多了,打算直接把contrib库加到现在的库中,要用到Cmake进行编译(其实我之前在实验室的电脑配置过一次,还比较顺利),总的来说配置了两天,差点自闭了,还好经过不断的探索,成功了T-T。现在分享一下成功的经验(喜悦)

本文经验分享版本:opencv3.4.3 contrib3.43 CMake3.13.3
注意:opencv与contrib的版本一定要对应

一定要注意的BUG(玄学)

首先在配置过程中我遇到了哪些bug:

  1. 配置过程下载失败:其中需要下载几个比较关键的文件,包括,opencv_ffmpeg_64.dll、opencv_ffmpeg.dll、ffmpeg_version.cmake、ippicv_2017u3_win_intel64_general_20180518.zip。解决方法:我按照网络上的方法,打开contrib文件夹下的CMakeDownloadLog.txt看了下,就是网络连接失败,网络上一些朋友分享的经验是自己先把上述文件下载下来,再把MD5加上,放在opencv/source/.cache/ 里对应的文件夹里面。但是我这里行不通,我放进去以后,他每次configure的时候都要给我删除掉重新下载,然后又下载失败。经过多次尝试,我把CMake安装的路径换到了纯英文环境下,关掉了我的梯子,用(某讯电脑管家修复了网络),一切就绪,重新开始configure,downloading opencv_ffmpeg.dll 下载成功,但是后面的文件还是下载失败。应该是网络不稳定造成的,于是我就再次configure,又下载好一个,在多次的configure后终于下载完毕。
  2. module路径错误:module加载错误,解决方法:路径填写不要复制粘贴,还是采用引导去选择
  3. 一些莫名的错误,有些可能是configure过程出的问题,解决方法,一定要先configure成功后,该下载的下载好了,再添加module的路径,再configure,成功后再generate。最后的结果应该是这样的:

    补充一下,如果要使用sift算子,一定要勾选下面的图中的选项
    [吐血]opencv_contrib配置成功吐血经验(没准你也是因为这个)_第1张图片

写在后面

踩过上面的坑过后,以后就不怕了。总的来说一定要多尝试,不要暴躁,问题总能解决。实在不行还可以opencv3和opencv2混用,具体方法请摆渡一下。

你可能感兴趣的:([吐血]opencv_contrib配置成功吐血经验(没准你也是因为这个))