Reconnaissance de code QR Hisi3516 (1): zbar + opencv compilé de manière croisée

Un: Introduction

Cette reconnaissance de code QR est basée sur zbar + opencv, la plate-forme de développement est ubuntu18.04 et la plate-forme d'exécution de fichiers est Hisi3516.

Étant donné que le fichier compilé final est exécuté sous l'architecture ARM, les fichiers de bibliothèque et les programmes d'exécution associés doivent être compilés de manière croisée

Deux: Construction de l'environnement de développement Hisi3516

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

Après avoir exécuté la commande ci-dessus, vous constaterez que les variables d'environnement suivantes sont enregistrées sous le fichier "/ etc / profile":

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

Trois: compilation croisée zbar

1. Obtenez le code source de zbar et décompressez-le

Créer un fichier compilé pour stocker la sortie du fichier

2. Configuration

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

3. Compilez

make && make install

4. Configurez pkg-config

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

Quatre: compilation croisée de bibliothèques liées à opencv

La compilation du code source d'Opencv repose sur certaines bibliothèques tierces, alors compilez d'abord ces bibliothèques tierces. Le point clé: mettez les fichiers compilés de ces bibliothèques tierces dans un seul chemin pour faciliter la compilation opencv ultérieure. Mon chemin unifié est: / home / 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 compilation de libpng dépend de la bibliothèque 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

Quatre: compilation croisée OpenCV

1. Obtenez la bibliothèque de code source opencv et décompressez-la et créez deux dossiers build (utilisé pour créer la configuration) et sortie (fichiers compilés par opencv)

2. Entrez dans le répertoire bulid et exécutez "cmake-gui"

Recherchez CMAKE_BUILD_TYPE, remplacez la valeur de cette clé par Release, recherchez CMAKE_INSTALL_PREFIX et remplacez la valeur de cette clé par le dossier de sortie sous le répertoire source, comme illustré dans la figure suivante:

 

Vérifiez les modules dont vous avez besoin, comme indiqué ci-dessous, vous devez compiler la bibliothèque statique, et enfin cliquez sur "Générer" pour générer le Makefile

3. Fermez cmake et revenez au chemin opencv

make
make install

4. Configurez 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

 

Je suppose que tu aimes

Origine blog.csdn.net/qq_34968572/article/details/112978917
conseillé
Classement