最近想使用opencv中的画图功能,想安装opencv,结果发现按照网上现有的安装方法无法完全安装成功,特记录下整个安装过程
1.需要的安装环境
见https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html
如果和我一样第一次安装的话,按照下列步骤配置环境:
1.1安装cmake
sudo apt-get install cmake
1.2其他安装环境
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
2.下载opencv安装包
方法一:
假如将安装包下载到home目录:进入home目录,最好新建一个文件夹,如opencv,在新文件夹中打开终端:下载opencv:
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
方法二:
在下载地址:https://opencv.org/releases/中选择opencv4.1.0下载
3.安装
3.1打开下载的opencv4文件夹,打开opencv的文件夹,
mkdir build //新建build文件夹
cd build
3.2 cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D PYTHON3_EXECUTABLE=/usr/bin/python3 \ -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 \ -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \ -D PYTHON_EXECUTABLE=/usr/lib/python3 \ -D BUILD_opencv_xfeatures2d=OFF \ -D BUILD_EXAMPLES=ON ..
这里如果不成功,可以试着安装下python(应该没问题。。。)
主要是安装opencv的同时安装opencv_contrib的模块
cmake后的界面:
3.3编译
sudo make -j8//-多少看你内核数
编译后的界面:
3.4安装
sudo make install
安装完后的界面:
4.配置环境
4.1添加库路径
方法一:
用gedit打开ld.so.conf
在文件下一行加入 /usr/loacal/lib
其中/user/loacal是opencv安装路径(make install结束后能看到)
sudo gedit /etc/ld.so.conf
方法二:
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' # 添加库路径
4.2更新系统库
sudo ldconfig # 更新系统库
4.3在/etc/bash.bashrc 末尾增加以下内容:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
方法:
sudo gedit /etc/bash.bashrc
gedit打开bash.bashrc,添加内容:
然后在终端运行:
source /etc/bash.bashrc
5.opencv.pc文件添加
5.1打开/usr/local/lib目录,若没有pkgconfig文件夹自己新建一个
cd /usr/local/lib //打开lib目录
sudo mkdir pkgconfig //一定要用sudo,不然新建不了
5.2将opencv.pc文件添加进去
新建一个opencv.pc文件
内容:
prefix=/home/hzh/opencv/mybuild/myInstall
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir_old=${prefix}/include/opencv4/opencv
includedir_new=${prefix}/include/opencv4
Name: OpenCV
Description: Open Source Computer Vision Library
Version: 4.1.0
Libs: -L${exec_prefix}/lib -lopencv_gapi -lopencv_stitching -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_video -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core
Libs.private: -ldl -lm -lpthread -lrt
Cflags: -I${includedir_old} -I${includedir_new}
打开opencv.pc存放的目录(一定是opencv.pc存放的目录,否则出错),复制文件到/usr/local/lib/pkgconfig/
sudo cp ./opencv.pc /usr/local/lib/pkgconfig/
6.检查安装的opencv
终端输入:
pkg-config opencv --modversion
如果显示4.1.0(根据你安装的opencv版本来看),那么恭喜安装成功。