当前位置: 首页 > news >正文

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

1、获取百度ai的sdk

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

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

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

2、ubuntu环境配置

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

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

3、移植 zlib 库

zlib Home Site

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

export CC=arm-linux-gnueabihf-gcc 
export LD=arm-linux-gnueabihf-ld 
export AD=arm-linux-gnueabihf-as ./configure --prefix=$PWD/zlib_output 

然后

make            //编译
make install

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

4、编译百度AI

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

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

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

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

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

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

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

执行编译

这样就编译成功了。

5、 文件传输与执行

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

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

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

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

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

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

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

1B43FEDD24C811E9F26A932FC57C0F93

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

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

        打开key

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

./run.sh

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

http://www.lryc.cn/news/194031.html

相关文章:

  • 数学建模——确定性时间序列分析方法
  • Opencv——颜色模型+通道分离与合并
  • 解码自然语言处理之 Transformers
  • 【前端设计模式】之迭代器模式
  • 【Android知识笔记】图片专题(BitmapDrawable)
  • 前端工程化知识系列(10)
  • 大数据flink篇之三-flink运行环境安装(一)单机Standalone安装
  • Redisson使用延时队列
  • 基于php 进行每半小时钉钉预警
  • 5.Python-使用XMLHttpRequest对象来发送Ajax请求
  • 八皇后问题的解析与实现
  • 论文浅尝 | 深度神经网络的模型压缩
  • 进阶JAVA篇- DateTimeFormatter 类与 Period 类、Duration类的常用API(八)
  • 1.1 Windows驱动开发:配置驱动开发环境
  • Jetpack:009-kotlin中的lambda、匿名函数和闭包
  • openGauss指定schema下全部表结构备份与恢复
  • 干货:如何在前端统计用户访问来源?
  • 李宏毅生成式AI课程笔记(持续更新
  • nodejs+vue+elementui酒店客房服务系统mysql带商家
  • 【网络协议】聊聊网络分层
  • [开源]基于Vue+ElementUI+G2Plot+Echarts的仪表盘设计器
  • html设置前端加载动画
  • 【git的使用方法】——上传文件到gitlab仓库
  • Kafka 开启SASL/SCRAM认证 及 ACL授权(二)ACL
  • Java8 新特性之Stream(三)-- Stream的终结操作
  • 【Vue面试题二十八】、vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
  • 1、验证1101序列(Moore)
  • Java基础面试-BeanFactroy和ApplicationContext
  • js的入口函数
  • [cpp primer随笔] 10. 函数重载与重载决议