前面步骤和在树莓派安装是一样的,到安装OpenCV 4.5.5那里,cmake命令有些不一样,安装顺序:Qt5 -> Eigen 3.4.0 -> OpenCV 4.5.5
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install clang clang-format
sudo apt-get install qt5-default
sudo apt-get install qtcreator
sudo apt-get install qtdeclarative5-dev
也是采用编译安装,能安装上最新版本。
先去官网下载最新版本:Eigen下载地址
下载后解压并重命名到主目录:
unzip eigen-3.4.0.zip
mv eigen-3.4.0 ~/eigen
cd eigen
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
sudo reboot
GitHub - opencv/opencv_contrib 下载地址
下载、解压、重命名。
unzip opencv-4.5.5.zip
unzip opencv_contrib-4.5.5.zip
mv opencv-4.5.5 ~/opencv
mv opencv_contrib-4.5.5 ~/opencv_contrib
安装依赖
由于 Ubuntu 20.04 是只有 Python3 的,所以不需要安装 Python2 的依赖
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake gfortran
sudo apt-get install python3 python3-dev python3-numpy
sudo apt-get install libjpeg-dev libtiff-dev libgif-dev
sudo apt-get install libgstreamer1.0-dev gstreamer1.0-gtk3
sudo apt-get install libgstreamer-plugins-base1.0-dev gstreamer1.0-gl
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgtk2.0-dev libcanberra-gtk*
sudo apt-get install libxvidcore-dev libx264-dev libgtk-3-dev
sudo apt-get install libtbb2 libtbb-dev libdc1394-22-dev libv4l-dev
sudo apt-get install libopenblas-dev libatlas-base-dev libblas-dev
sudo apt-get install protobuf-compiler
下面两个包也是需要安装的,若执行时出现:无法定位libjasper-dev的问题,可以看这篇blog解决,尽管题目说是树莓派64位的,但也适用于我们的环境。
问题解决之后,再次执行下面的命令:
sudo apt-get install libjasper-dev liblapack-dev libhdf5-dev
编译安装
cd opencv
mkdir build
cd build
此时最好把cmake过程中需要下载的文件全部预先下载好,并放在opencv/.cache目录下,该目录默认是隐藏的,我下载了一份最最完整的,云盘链接放在这里:
链接:https://pan.xunlei.com/s/VNE1rT9yF41tGsft05hW08pCA1
提取码:im86
unzip cache.zip
mv cache ~/opencv/.cache
然后cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D WITH_EIGEN=ON \
-D WITH_QT=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_EXAMPLES=OFF ..
make
sudo make install
sudo ldconfig
sudo reboot
重启之后开终端看一下 OpenCV 的版本
pkg-config --modversion opencv4
会显示 4.5.5,则安装完成
同时也会拥有Python版本的OpenCV
Python
>>> import cv2
>>> cv2.__version__
'4.5.5'
ncnn下载地址
sudo apt-get update
sudo apt-get upgrade
sudo apt install build-essential git cmake libprotobuf-dev protobuf-compiler libvulkan-dev vulkan-utils libopencv-dev
unzip ncnn-master.zip
mv ncnn-master ~/ncnn
cd ncnn
安装ncnn还需要glslang,此时可以去目录 /ncnn/glslang/ 下看看,会发现是空的,因此还需要把 glslang 的源码放到 glslang/ 目录下
glslang下载地址
下载完之后
unzip glslang-master.zip
cd glslang-master
cp -r * ~/ncnn/glslang/
复制完之后,glslang/里面是这样的
然后就可以开始编译了
cd ~/ncnn/
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DNCNN_VULKAN=OFF -DNCNN_SYSTEM_GLSLANG=ON -DNCNN_BUILD_EXAMPLES=ON ..
make
sudo make install
sudo ldconfig
ncnn 的文件都安装在 build 下的 install 里面了,需要复制到 /usr/local
sudo cp -r install/bin/* /usr/local/bin/
sudo cp -r install/include/* /usr/local/include/
sudo cp -r install/lib/* /usr/local/lib/
大功告成