PC端使用hi3516交叉编译工具链编译opencv4.6.0,生成libopencv_world.so.4.6.0后移植到开发板使用

(编译并不需要opencv环境支持,pc端没有opencv环境也可编译)

1、下载opencv4.6.0并解压

(1)、下载

https://opencv.org/release/

PC端使用hi3516交叉编译工具链编译opencv4.6.0,生成libopencv_world.so.4.6.0后移植到开发板使用_第1张图片

 (2)、解压

unzip opencv-4.6.0

cd opencv-4.6.0

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

(报错:无法定位软件包libjasper-dev的解决办法,执行下面代码处理)

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt upgrade
sudo apt install libjasper1 libjasper-dev

3、编写编译脚本

mkdir build

mkdir output

cd build

vi build.sh

#!/bin/bash
set -e # Exit immediately if a command exits with a non-zero status.
 
ToolChain=/opt/hisi-linux/x86-arm/arm-himix200-linux
 
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D BUILD_SHARED_LIBS=ON \
      -D CMAKE_FIND_ROOT_PATH=${ToolChain}/ \
      -D CMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake \
      -D CMAKE_C_COMPILER=${ToolChain}/bin/arm-himix200-linux-gcc \
      -D CMAKE_CXX_COMPILER=${ToolChain}/bin/arm-himix200-linux-g++ \
      -D CMAKE_C_FLAGS="-mfloat-abi=softfp -mfpu=neon" \
      -D CMAKE_CXX_FLAGS="-mfloat-abi=softfp -mfpu=neon" \
      -D CMAKE_INSTALL_PREFIX=../output \
      -D WITH_TBB=ON \
      -D WITH_EIGEN=ON \
      -D BUILD_ZLIB=ON \
      -D BUILD_TIFF=ON \
      -D BUILD_JASPER=ON \
      -D BUILD_JPEG=ON \
      -D BUILD_PNG=ON \
      -D ENABLE_NEON=ON \
      -D ENABLE_VFPV3=ON \
      -D WITH_LIBV4L=ON \
      -D BUILD_opencv_python=OFF \
      -D ENABLE_PRECOMPILED_HEADERS=OFF \
      -D BUILD_EXAMPLES=OFF \
      -D BUILD_TESTS=OFF \
      -D BUILD_PERF_TESTS=OFF \
      -D BUILD_WITH_DEBUG_INFO=OFF \
      -D BUILD_DOCS=OFF \
      -D WITH_OPENCL=OFF \
      -D WITH_1394=OFF \
	  -D BUILD_opencv_world=ON \
      ..
 
make -j8$(nproc)

4、运行脚本,编译opencv

sh build.sh

5、移植编译出来的opencv动态库到开发板

(1)、复制当前目录下lib里面的libopencv_world.so.4.6.0、libopencv_world.so、libopencv_world.so.406到开发板/user/lib目录

(2)、设置环境变量export LD_LIBRARY_PATH=/user/lib:$LD_LIBRARY_PATH

到此,移植成功

你可能感兴趣的:(人工智能,linux,arm)