百度车牌识别AI Linux使用方法-armV7交叉编译

1、获取百度ai的sdk

百度智能云-登录 (baidu.com)

百度车牌识别AI Linux使用方法-armV7交叉编译_第1张图片

        里面有两个版本的armV7和armV8架构。v7架构的性能比较低往往需要交叉编译,v8的板子性能往往比较好,可以直接在板子上编译。

        解压到ubuntu里面。这里介绍v7架构的。

百度车牌识别AI Linux使用方法-armV7交叉编译_第2张图片

2、ubuntu环境配置

ubuntu下安装软件包。根据提示可以安装其他的包

sudo apt install g++-arm-linux-gnueabihf

3、移植 zlib 库

zlib Home Site

百度车牌识别AI Linux使用方法-armV7交叉编译_第3张图片

点击下载,放到ubuntu里面。进入解压后的目录,终端执行下面指令

export CC=arm-linux-gnueabihf-gcc 
export LD=arm-linux-gnueabihf-ld 
export AD=arm-linux-gnueabihf-as 

./configure --prefix=$PWD/zlib_output 

百度车牌识别AI Linux使用方法-armV7交叉编译_第4张图片

然后

make            //编译
make install

百度车牌识别AI Linux使用方法-armV7交叉编译_第5张图片

百度车牌识别AI Linux使用方法-armV7交叉编译_第6张图片

        把$PWD/zlib_output 文件夹下面include文件夹和lib文件夹下面的文件复制到car-plate-sdk-armv7hf/include文件夹,car-plate-sdk-armv7hf/libs文件夹里面。

百度车牌识别AI Linux使用方法-armV7交叉编译_第7张图片

4、编译百度AI

        在ubuntu里面首先先给文件夹权限。

chmod -R +x car-plate-sdk-armv7hf/

        在car-plate-sdk-armv7hf/demo文件夹下,创建文件夹01cmake,里面创建文件arm-linux-setup.cmake。

百度车牌识别AI Linux使用方法-armV7交叉编译_第8张图片

文件arm-linux-setup.cmake里面添加下面内容,表示选择对应编译工具

set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)

百度车牌识别AI Linux使用方法-armV7交叉编译_第9张图片

然后在demo文件夹里面创建一个build的文件夹,进入文件夹依次输入下面指令

cmake -DCMAKE_TOOLCHAIN_FILE=../01cmake/arm-linux-setup.cmake ..
make

执行编译

百度车牌识别AI Linux使用方法-armV7交叉编译_第10张图片

这样就编译成功了。

5、 文件传输与执行

        创建nfs和v7的板子互联,这个需要自己去查询怎么把ubuntu和v7板子上进行文件夹文件共享了。

busybox mount -o nolock -t nfs 192.168.1.78:/home/spepc/nfs ~/nfs/ 

        v7架构的板子我使用的是imx6ull,执行百度ai的时候,估计提示缺少库。

百度车牌识别AI Linux使用方法-armV7交叉编译_第11张图片

        从ubuntu18里面找到/usr/arm-linux-gnueabihf/lib里面的库文件,复制到开发板的

cp /usr/arm-linux-gnueabihf/lib/libgomp.so.1* ~/nfs

百度车牌识别AI Linux使用方法-armV7交叉编译_第12张图片

        开发板连接nfs,然后从nfs里面复制库到/usr/lib/文件夹下面

cp libgomp.so.1* /usr/lib/

百度车牌识别AI Linux使用方法-armV7交叉编译_第13张图片

1B43FEDD24C811E9F26A932FC57C0F93

        根据这个码,去百度智能云上面申请临时的鉴权码。

百度车牌识别AI Linux使用方法-armV7交叉编译_第14张图片

        申请得到的码,离线激活,下载下来得到压缩文件,解压文件得到下面的两个文件。放到ubuntu里面,然后共享到v7板子里面。

百度车牌识别AI Linux使用方法-armV7交叉编译_第15张图片

        打开key

百度车牌识别AI Linux使用方法-armV7交叉编译_第16张图片

百度车牌识别AI Linux使用方法-armV7交叉编译_第17张图片

把编译得到的可执行文件从build复制到demo文件夹里面。然后在开发板上执行。

./run.sh

百度车牌识别AI Linux使用方法-armV7交叉编译_第18张图片

于是车牌识别就搞定了。具体还是需要自己优化修改。

你可能感兴趣的:(Linux,linux,运维,服务器)