下载源码
opencv 下载地址 https://opencv.org/releases/
还有一些库不在opencv的标准包里, 需要单独下载
opencv_contrib 下载地址 https://github.com/opencv/opencv_contrib/tags
opencv-4.7.0.zip 和opencv_contrib-4.7.0.zip 源码下载完成之后,开始编译
也可以通过git直接克隆
安装工具及编译
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
gfortran openexr libatlas-base-dev python3-dev python3-numpy \
libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \
libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
unzip opencv-4.7.0.zip
cd opencv-4.7.0
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/aarch64-musl.toolchain.cmake .. \
-DCMAKE_CXX_FLAGS="-march=armv8-a" \
-DCMAKE_C_FLAGS="-march=armv8-a"\
-DBUILD_SHARED_LIBS=ON \
-DWITH_ADE=OFF\
-DOPENCV_GENERATE_PKGCONFIG=ON
编译arm64平台的库,指定为armv8-a; 生成动态库文件,关闭ade模块,生成pkgconfig文件
无报错以后,开始编译i
make -j10
编译源码
make install
这一步最重要,默认目录在当前编译的目录下的install目录。
会生成需要的.h文件头,和动态库,这些文件放置到目标主机中使用
如果使用附加的那个contrib库的话,需要cmake的时候指定一下路径
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.7.0/modules \
使用
添加动态库到ldconfig中, 编辑 /etc/ld.so.config, 添加新行
include /opt/opencv4.7/lib
把openssl的动态库, 加载到系统的LD_LIBRARY_PATH中
ldconfig