保存一下教程。
https://blog.csdn.net/heiheiya/article/details/82590601
https://blog.csdn.net/heiheiya/article/details/82497211#commentBox
https://blog.csdn.net/u010739369/article/details/79966263
opencv各版本链接及opencv_contrib库各版本链接:
opencv版本:https://opencv.org/releases.html
contrib库:https://github.com/opencv/opencv_contrib/releases
注意事项:
(1)cmake配置时,注意不要有空格。
(2)ippicv_2017u3_lnx_intel64_20170822.tgz下载问题
(a)下载 ippicv_2017u3_lnx_intel64_general_20170822.tgz
github下载地址
保存路径随意,我是放在默认的下载路径/home/lc/下载
(b)修改opencv里相关配置文件
打开终端,输入
gedit /home/lc/opencv_source/opencv/3rdparty/ippicv/ippicv.cmake #记得lc换成自己的用户名。
或者直接找到该文件修改。
将47行的
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
改为步骤1中手动下载的文件的本地路径:
"file:///home/lc/下载/" #(仅供参考,根据自己的路径填写)
编辑完成保存退出。
(3) 重新cmake
注意不要有空格键
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.0/modules \
-D PYTHON3_EXECUTABLE=/usr/bin/python3 \
-D PYTHON_EXECUTABLE=/usr/bin/python \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=ON \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D WITH_OPENMP=ON\
-D BUILD_EXAMPLES=ON \
-D WITH_CUDA=ON \
-D BUILD_TIFF=ON \
-D ENABLE_PRECOMPILED_HEADERS=OFF\
-D INSTALL_PYTHON_EXAMPLES=ON ..
到了下载ippicv那一步时会自动从本地下载。
(4)Makefile:160: recipe for target ‘all’ failed (Ubuntu 16.06 + Opencv3.2)解决办法
原文:https://blog.csdn.net/Zafir_410/article/details/74357544
根本原因:
安装anaconda之后,很多默认的编译器都变成了anaconda自带的了,比如python和gcc等。那么系统中的python安装的东西自然是用不了的,刚开始没发现这个问题,一怒之下就把opencv给卸载了,当发现这个问题的时候,已经悔之晚矣,无奈重新安装。
注:opencv编译失败之后,其前面肯定有失败报错的地方,也就是解决问题和核心了,如上图中最后报错“Makefile:160: recipe for target ‘all’ failed”无法锁定问题在那儿,往上翻番看就能发现问题的原因,在继续解决就行了。
解决方案
两种方式:
第一种方法:
增加 -D WITH_OPENMP=ON
第二种方法
从系统变量中删除Anaconda路径
sudo gedit ~/.bashrc
注释掉如下两行
#export PATH="/home/lab/SOFT_APP/Anaconda2/bin:KaTeX parse error: Expected 'EOF', got '#' at position 7: PATH" #̲export PATH="/h…PATH"
立即生效:
source ~/.bashrc
此时在编译即可。
Anaconda该怎么使用
有些同学可能会问删除了Anaconda的环境变量之后怎么用,其实直接在Anaconda的目录下就可以使用:
bin/conda info -e
source bin/activate tf_v0.12.0rc0
source bin/deactivate
同样可以使用。