在学习别人神经网络的代码时,配置相应的环境十分重要,其中opencv4.1.2的安装是花费我时间最长的。在终于成功安装的今天,详细记录下安装过程、遇到的问题和解决方案。
一、更新Ubuntu18.04源为阿里源
打开软件和更新 ,将下载自的源更改为阿里源;不过一般在安装ubuntu时都会更新为阿里源。所以,如果之前更新过,此处将不必再更新。
二、安装opencv相关依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 处理图像所需的包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包
sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
sudo apt-get install ffmpeg
`apt-get install libjasper-dev`
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
三、安装openCV
cd /home/sunshine/opencv-4.1.2
3.在openCV-4.1.2下创建一个名为build目录,并切换到这个目录下:
mkdir build
cd ./build
4.执行cmake,生成makefile文件。注意此处是重点,在安装的过程中我看到了不同博客有不同的cmake代码,此处cmake中给出的路径,需要根据自己代码的运行情况进行修改。为此,可以先运行:
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
然后看程序运行过程中提示的错误和问题。
4. cmake中出现的问题及解决方案:
1)Found PythonInterp, Could NOT find Pythonlibs的问题,截图如下:
这个问题不解决无法成功安装opencv。
解决方法:在cmake中添加python相应的路径。这些路径是根据自己的python安装路径来修改的,由于我想要用anaconda3的python来调用opencv,所以我在首次运行的cmake中添加了相应的python路径,虽然在报错提示中只提示missing:PYTHON_LIBRARYS PYTHON_INCLUDE_DIRS ,但我把其它Python路径也添加进去了。
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON_PACKAGES_PATH=/home/sunshine/anaconda3/lib/python3.7/site-packages \
-D PYTHON_LIBRARY=/home/sunshine/anaconda3/lib/libpython3.7m.so \
-D PYTHON_INCLUDE_DIR=/home/sunshine/anaconda3/include/python3.7m \
-D PYTHON_EXECUTABLE=/home/sunshine/anaconda3/bin/python3 \
-D BUILD_EXAMPLES=ON ..
具体到如何查询自己的python相关路径,我在博客上找到了部分代码进行查询:
#PYTHON_INCLUDE_DIR路径查询
from distutils.sysconfig import get_python_inc
print(get_python_inc())
#PYTHON_PACKAGES_PATH路径查询
from distutils.sysconfig import get_python_lib
print(get_python_lib())
其它路径的位置可以在自己的anaconda3文件中依据文件名查询到具体的路径,如PYTHON_EXECUTABLE=/home/sunshine/anaconda3/bin/python3,可以先找到自己的anaconda文件夹,然后在其中寻找bin文件夹,再在其中寻找python3即可。
2)No package 'gtk’的问题:
这个问题等和安装过程中其它问题解决方法参见:https://blog.csdn.net/weixin_41896508/article/details/80795239
3)Could NOT find JNI问题出现,虽然我无法按照https://blog.csdn.net/weixin_41896508/article/details/80795239博文中的方法解决,但仍可以安装成功opencv。
5. cmake成功后显示结果如下:
6. 执行makefile文件(时间很长,我个人电脑约40分钟):
sudo make -j[N]
注:j[n]我的电脑是四核四线程,可以运行make -j4,如果是八核可用make -j8。如果不想编译时影响工作,可以用-j3。建议虚拟机的同学就直接运行sudo make就行.
7. 进行make install安装
sudo make install
sudo apt-get install python-opencv
sudo apt-get install python-numpy
本文引用:
[1]https://www.cnblogs.com/zhaocb/p/12039850.html
[2]https://blog.csdn.net/weixin_41896508/article/details/80795239