一、编译opencv4.5的步骤
1、安装依赖项
sudo apt update
sudo apt install build-essential cmake git pkg-config \
libjpeg-dev libtiff-dev libpng-dev \
libavcodec-dev libavformat-dev libswscale-dev \
libv4l-dev libxvidcore-dev libx264-dev \
libgtk-3-dev libatlas-base-dev gfortran \
python3-dev python3-numpy \
libdc1394-22-dev libopenblas-dev \
liblapack-dev libhdf5-dev libprotobuf-dev \
protobuf-compiler libgoogle-glog-dev \
libgtest-dev libtbb2 libtbb-dev
2、下载OpenCv源代码
cd ~
git clone -b 4.5.0 https://github.com/opencv/opencv.git
git clone -b 4.5.0 https://github.com/opencv/opencv_contrib.git
3、创建构建目录
cd ~/opencv
mkdir build
cd build
4、使用cmake配置构建
cmake -DOPENCV_EXTRA_MODULES_PATH=~/edcc/opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
5、编译Opencv
make -j$(nproc)
-j$(nproc)
表示使用所有可用的处理器核心进行并行编译,提高编译速度。
6、安装OpenCv
sudo make install
7、更新库缓存
sudo ldconfig
8、验证安装
import cv2
print(cv2.__version__)
二、出现的问题
错误1
在opencv的构建过程中,在第5步进行编译的时候,出现了下面的问题。
In file included from /mnt/c/Users/AppData/Local/anaconda3/Library/include/hdf5.h:21,
from /home/user/edcc/opencv_contrib/modules/hdf/src/hdf5.cpp:37:
/mnt/c/Users/AppData/Local/anaconda3/Library/include/H5public.h:285:19: error: conflicting declaration ‘typedef long long int ssize_t’
285 | typedef long long ssize_t;
| ^~~~~~~
In file included from /usr/include/stdlib.h:395,
from /usr/include/c++/11/cstdlib:75,
from /usr/include/c++/11/stdlib.h:36,
from /usr/lib/gcc/x86_64-linux-gnu/11/include/mm_malloc.h:27,