正点原子I.MX6ULL开发板车牌识别项目实战 1

1 项目总体概述

下图为 车牌识别项目 的系统框图。借助这个框图,简要介绍项目的总体思路和所需要做的准备工作。
正点原子I.MX6ULL开发板车牌识别项目实战 1_第1张图片

1.1 总体思路

通过摄像头采集图像信息,并将图像信息传递开发板(这里使用的是OpenCv)。开发板收到图像信息之后,通过定时器,周期调用百度AI的接口,将图像信息发送给百度云,进行图像识别,同时,待识别的图片还会显示在开发板的屏幕上。识别成功后,车牌识别的结果会显示在屏幕上。效果图如下图所示:
正点原子I.MX6ULL开发板车牌识别项目实战 1_第2张图片

1.2 准备工作

1)、在PC端搭建好Qt环境。
2)、将Qt所使用的库拷贝到根文件系统中,并设置Qt的环境变量,使系统知道Qt库的位置在哪里。
3)、本项目需要使用触摸屏,因此还交叉编译 tslib。并将编译好的tslib拷贝到跟文件系统中。同样,需要设置设置tslib的环境变量,使系统知道tslib的位置在哪里。
4)、如果要调用百度AI的接口,我们需要移植依赖库libcurl,openssl和jsincpp库。
(注意:一定是先装openssl 再装libcurl,需要libcurl支持https,要想让openssl 支持libcurl就必须支持openssl,然后在编译libcurl的时候,在配置参数中,加入openssl)
5)、在百度端创建应用,主要是用到百度的三元组。

2、依赖库的编译

2.1 编译openssl

cd openssl-1.0.2f/
setarch i386 ./config no-asm shared --prefix=/usr/local/openssl/
CC= arm-linux-gnueabihf-gcc
AR= arm-linux-gnueabihf-ar $(ARFLAGS) r
RANLIB= arm-linux-gnueabihf-ranlib
NM= arm-linux-gnueabihf-nm
 make
sudo make install

2.2 编译curl

./configure --prefix=/usr/local/curl/ --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --with-ssl=/usr/local/openssl
make
sudo make install

2.3 编译jsoncpp

mkdir arm_jsoncpp
cp -r include/ arm_jsoncpp/
cp src/lib_json/* arm_jsoncpp/
arm-linux-gnueabihf-g++ -c *.cpp -I./include -fPIC
mkdir lib
 ar cr ./lib/libjsoncpp.a *.o
 编译动态库
 arm-linux-gnueabihf-g++ -shared -fPIC *.cpp -I./include -o ./lib/libjsoncpp.so 

参考博客:https://blog.csdn.net/qq_33771824

你可能感兴趣的:(linux实战项目,图像识别)