Hisi3516 QRコード認識(1):クロスコンパイルされたzbar + opencv

1つ:はじめに

このQRコード認識はzbar + opencvに基づいており、開発プラットフォームはubuntu18.04であり、ファイル実行プラットフォームはHisi3516です。

最終的にコンパイルされたファイルはARMアーキテクチャで実行されるため、関連するライブラリファイルと実行プログラムをクロスコンパイルする必要があります。

2:Hisi3516開発環境構築

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

上記のコマンドを実行すると、次の環境変数が「/ etc / profile」ファイルに保存されていることがわかります。

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

3:zbarクロスコンパイル

1. zbarソースコードを入手して解凍します

ファイル出力を保存するコンパイル済みファイルを作成します

2.構成

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

3.コンパイル

make && make install

4.pkg-configを構成します

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

4:opencv関連のライブラリクロスコンパイル

Opencvのソースコードのコンパイルは一部のサードパーティライブラリに依存しているため、最初にこれらのサードパーティライブラリをコンパイルします。重要なポイント:これらのサードパーティライブラリのコンパイル済みファイルを1つのパスに入れて、後続のopencvコンパイルを容易にします。私の統一パスは次のとおりです。ホーム/ジュン/ 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

libpngのコンパイルは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

4:opencvクロスコンパイル

1. opencvソースコードライブラリを取得して解凍し、ビルド(構成の作成に使用)と出力(opencvによってコンパイルされたファイル)の2つのフォルダーを作成します。

2. bulidディレクトリに入り、「cmake-gui」を実行します

次の図に示すように、CMAKE_BUILD_TYPEを検索し、このキーの値をReleaseに変更し、CMAKE_INSTALL_PREFIXを検索して、このキーの値をソースディレクトリの下の出力フォルダーに変更します。

 

以下に示すように、必要なモジュールを確認します。静的ライブラリをコンパイルし、最後に[生成]をクリックしてMakefileを生成する必要があります。

3. cmakeを閉じて、opencvパスに戻ります

make
make install

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

 

おすすめ

転載: blog.csdn.net/qq_34968572/article/details/112978917