在Linux系统上快速部署OPENCV 4.4.0
转载来自:
欢迎关注B站ID:跷课去写代码机器视觉第五集:安装opencv4.4.0
安装openCV:
=安装OpenCV4.4.0===
先卸载ubuntu自带的python2
sudo apt-get remove python2.7
sudo apt-get remove --auto-remove python2.7
sudo apt-get purge python2.7
sudo apt-get purge --auto-remove python2.7
安装依赖项
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev libgtk2.0-dev pkg-config
安装源文件包
去Opencv官网下载4.4.0的Sources,下好后解压:https://opencv.org/releases/
去github下载4.4.0的contrib压缩包:https://github.com/opencv/opencv_contrib/releases
将contrib压缩包解压后放进之前解压好的Opencv Sources的文件夹下
源文件包代码修改
修改opencv_contrib-4.4.0
1.将opencv_contrib-4.4.0移到opencv-4.4.0
移植
2.boostdesc.tar.gz解压,将所有的C文件copy到opencv-4.4.0/opencv_contrib
4.4.0/modules/xfeatures2d/src/
3.将opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/test/test_features2d.cpp中的
#include “features2d/test/test_detectors_regression.impl.hpp”
#include “features2d/test/test_descriptors_regression.impl.hpp”
改为
#include “test_detectors_regression.impl.hpp”
#include “test_descriptors_regression.impl.hpp”
4.将opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp中的
#include “features2d/test/test_detectors_invariance.impl.hpp”
#include “features2d/test/test_descriptors_invariance.impl.hpp”
改为
#include “test_detectors_invariance.impl.hpp”
#include “test_descriptors_invariance.impl.hpp”
5.cd /home/hai/opencv-4.4.0
vim CMakeLists.txt
INCLUDE_DIRECTORIES("/home/hai/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/include")
6.对比一下opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/test/ 和 opencv-4.4.0/modules/feature2d/test/ 文件夹,看看前者缺了哪些.hpp文件,然后把缺的那些都复制进去
编译OPENCV源文件包
cd opencv-4.4.0;
mkdir build;
cd build
检查libgtk2.0-dev
8.首先检查libgtk2.0-dev是否安装正确
sudo apt-get install aptitude
sudo aptitude search libgtk2.0-dev
9.WTH_GTK=ON 一定要打开(后期import cv2使用cv2.imshow会报错no find module)
10.安装cmake编译器
sudo apt install cmake
11 .
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_JAVA=OFF -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules -DWITH_CUDA=1 -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DOPENCV_GENERATE_PKGCONFIG=ON -WITH_GTK=ON -D WITH_OPENMP=ON -DWITH_GSTREAMER=ON -DCUDA_GENERATION=Pascal ..
12.(根据cpu性能选择多线程编译数,我的是6核cpu)
make -j6
13.(切换超级用户,否则权限不足)
su root
或者使用
sudo su
(安装opencv)
make install
验证OPENCV
此时可以输入
python3
import cv2
验证看opencv是否安装成功
14.添加环境变量:
vim ~/.bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/lib
source ~/.bashrc
在/etc/ld.so.conf.d/opencv4.conf中(如果没有就自己新建一个)
写入/usr/local/lib
保存然后更新一下
sudo ldconfig
sudo gedit /etc/bash.bashrc
#在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存然后更新一下
source /etc/bash.bashrc
sudo updatedb
sudo gedit /etc/ld.so.conf
在末尾加上/usr/local/lib
保存然后更新一下
sudo ldconfig
找到安装目录(我是安装在usr/local)
cd /usr/local/lib/pkgconfig
切换超级用户重命名opencv4.pc文件为opencv.pc
mv opencv4.pc opencv.pc
验证opencv安装:
(查看opencv的lib库)
pkg-config opencv --libs
(查看opencv的安装版本)
pkg-config opencv --modversion
(安装aptitude)
sudo apt-get install aptitude
(安装Python-dev)
sudo aptitude install python-dev
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev libgtk2.0-dev pkg-config libopencore-amrnb-dev libopencore-amrwb-dev libfaac-dev libmp3lame-dev libvorbis-dev libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libavresample-dev
(解决Failed to load module "canberra-gtk-module"的报错)
sudo apt-get install libcanberra-gtk-module
(安装pip3)
sudo apt install python3-pip
(安装skbuild)
sudo pip3 install scikit-build
(安装opencv扩展包)(安装会非常慢)
sudo pip3 install opencv-python
(安装库)
sudo pip3 install numpy
(安装库)(下载会非常慢)
sudo pip3 install scipy
(安装库)(下载会非常慢)
sudo pip3 install matplotlib
(安装库)
sudo pip3 install pandas
非必要步骤
########################非必要步骤##########################
找到编译好的python cv库
sudo find / -iname CV2*.so
/usr/local/lib/python3.8/dist-packages/CV2/CV2.cpython-38-x86_64-linux-gnu.so
/usr/local/openCV4/lib/python3.8/dist-packages/CV2/python-3.8/CV2.cpython-38-x86_64-linux-gnu.so
链接到系统自带的python3解释器
sudo ln -s /usr/local/openCV4/lib/python3.8/dist-packages/CV2/python-3.8/CV2.cpython-35m-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/CV2.so