Reconocimiento de código QR Hisi3516 (1): zbar + opencv de compilación cruzada

Uno: Introducción

Este reconocimiento de código QR se basa en zbar + opencv, la plataforma de desarrollo es ubuntu18.04 y la plataforma de ejecución de archivos es Hisi3516.

Debido a que el archivo compilado final se ejecuta bajo la arquitectura ARM, los archivos de biblioteca relacionados y los programas de ejecución deben compilarse de forma cruzada.

Dos: construcción del entorno de desarrollo Hisi3516

tar -xzvf arm-himix100-linux.tgz
cd arm-himix100-linux
chmod +x ./arm-himix100-linux.install
./arm-himix100-linux.install

Después de ejecutar el comando anterior, encontrará que las siguientes variables de entorno se guardan en el archivo "/ etc / profile":

export PATH="/opt/hisi-linux/x86-arm/arm-himix100-linux/bin:$PATH"

Tres: compilación cruzada de zbar

1. Obtenga el código fuente de zbar y descomprímalo

Cree un archivo compilado para almacenar la salida del archivo

2. Configuración

./configure --prefix=$PWD/../output --host=arm-himix100-linux --enable-shared=yes --disable-video   --without-imagemagick --without-gtk --without-qt  --without-python

3. Compilar

make && make install

4. Configure pkg-config

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/jun/tools/zbar/output/lib/pkgconfig
pkg-config --libs --cflags zbar

Cuatro: compilación cruzada de bibliotecas relacionadas con opencv

La compilación del código fuente de Opencv se basa en algunas bibliotecas de terceros, así que primero compile estas bibliotecas de terceros. El punto clave: coloque los archivos compilados de estas bibliotecas de terceros en una ruta para facilitar la posterior compilación de opencv. Mi ruta unificada es: / inicio / jun / hisifile

1 、 libz

CC=arm-himix100-linux-gcc AR=arm-himix100-linux-ar RANLIB=arm-himix100-linux-ranlib ./configure --prefix=/home/jun/hisifile --shared
make
make install

2 、 libjpeg

./configure --host=arm-himix100-linux --prefix=/home/jun/hisifile --enable-shared --enable-static
make 
make install

3 、 libpng

La compilación de libpng depende de la biblioteca zlib

./configure --prefix=/home/jun/hisifile  LIBS=-L/home/jun/hisifile/lib CPPFLAGS=-I/home/jun/hisifile/include --host=arm-himix100-linux --enable-shared --enable-static
make 
make install

4 、 yasm

CC=arm-himix100-linux-gcc ./configure --host=arm-himix100-linux --prefix=/home/jun/hisifile --enable-shared --disable-asm
make
make install

5 、 libx264

CC=arm-himix100-linux-gcc ./configure --host=arm-himix100-linux --prefix=/home/jun/hisifile --enable-shared --disable-asm
make
make install

6 、 libxvid

cd build/generic
./configure --host=arm-himix100-linux --prefix=/home/jun/hisifile --disable-assembly
make 
make install

7 、 ffmpeg

./configure --prefix=/home/jun/hisifile --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-himix100-linux-gcc --enable-swscale --extra-ldflags=-L/home/jun/hisifile/lib  --extra-cflags=-I/home/jun/hisifile/include
make
make install

Cuatro: compilación cruzada de opencv

1. Obtenga la biblioteca de código fuente opencv y descomprímalo y cree dos carpetas de compilación (utilizadas para crear la configuración) y salida (archivos compilados por opencv)

2. Ingrese al directorio bulid y ejecute "cmake-gui"

Busque CMAKE_BUILD_TYPE, cambie el valor de esta clave a Release, busque CMAKE_INSTALL_PREFIX y cambie el valor de esta clave a la carpeta de salida en el directorio de origen, como se muestra en la siguiente figura:

 

Verifique los módulos que necesita, como se muestra a continuación, necesita compilar la biblioteca estática y finalmente haga clic en "Generar" para generar el Makefile

3. Cierre cmake y vuelva a la ruta de opencv.

make
make install

4. Configure pkg-config

vim /etc/ld.so.conf
将目录/home/jun/tools/opencv/opencv-3.2.0/output/lib添加到文件末尾
ldconfig -v
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/jun/tools/opencv/opencv-3.2.0/output/lib/pkgconfig
pkg-config --libs --cflags opencv

 

Supongo que te gusta

Origin blog.csdn.net/qq_34968572/article/details/112978917
Recomendado
Clasificación