移植sqlite3、opencv到rv1126开发板上!

一、前言:

大家好,在历时一个多月的时间,终于把这个音视频实战项目人脸识别源码讲解完成了(这个是基于虚拟机上的人脸识别工程代码!):

移植sqlite3、opencv到rv1126开发板上!_第1张图片 音视频实战项目工程代码讲解!

在上周由于个人有事情,所以只简单更新了一部分板子上的硬件说明和固件烧写,以及通过vlc来抓取摄像头的画面!

这周先给大家更新一下交叉编译sqlite3和opencv以及人脸识别工程!

整体的话,就差商家那边的触摸屏幕了,到时候就可以有一个完整的效果出来!整个环境搭建过程是手把手的教!

等下周屏幕可以拿到了,先在板子跑一下人脸识别和物体识别,人脸识别的速度,现在优化了,比之前在虚拟机上快了很多,后期还会继续优化代码。

所以后面的重点在rk平台上的接口和源码解读!对了现在开发板的sdk整体编译,大家拿到板子不用去编译这个,直接先烧写他默认的固件就行,不然浪费时间,这个sdk商家给的有点坑爹.....,你编译出来了也没啥用,就走一个编译流程,代码不用他们的,用我们自己写的工程!

ok,开始今天的分享!

二、交叉编译sqlite3数据库:

在交叉编译之前,得在sdk里面找到交叉编译工具链:

移植sqlite3、opencv到rv1126开发板上!_第2张图片 商家提供的sdk里面的交叉工具链

然后我这里放在samba共享目录下,这里特别说一下,是为了等下路径的问题,等会有用:

移植sqlite3、opencv到rv1126开发板上!_第3张图片

现在开始来交叉编译sqlite3,这个sqlite3的源码还是用之前给大家的源码包:

移植sqlite3、opencv到rv1126开发板上!_第4张图片

解压出来:

tar -zxvf sqlite-autoconf-3380500.tar.gz
移植sqlite3、opencv到rv1126开发板上!_第5张图片

然后开始进行交叉编译,不过在在这之前,先在当前目录下创建一个文件夹来存放等下交叉编译出来文件:

mkdir arm_sqlite3_install
移植sqlite3、opencv到rv1126开发板上!_第6张图片

最后最为关键部分是,现在找到那个之前交叉编译的路径来,也就是结对路径:

/home/txp/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin
移植sqlite3、opencv到rv1126开发板上!_第7张图片

接着刚才建立的arm_sqlite3_install,也是要找到他的绝对路径来:

/home/txp/shared/sqlite-autoconf-3380500/arm_sqlite3_install
移植sqlite3、opencv到rv1126开发板上!_第8张图片

最后就可以按照下面这个命令来执行编译了:

./configure CC=/home/txp/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --host=arm-linux --prefix=/home/txp/shared/sqlite-autoconf-3380500/arm_sqlite3_install
3ee43274688e8c18751927324a6901ea.png

然后执行分别执行以下命令即可:

  • make -j8

  • make install

最后在arm_sqlite3_install目录下生成四个文件:

39b193197950ba2aa2c7df7df281802e.png

等会我们把需要的文件拷贝到板子上去,这里先暂时这样!

三、交叉编译opencv:

这里同样用是之前的源码包来交叉编译:

移植sqlite3、opencv到rv1126开发板上!_第9张图片

然后按照下面的步骤来进行编译:

  • 1、进入解压后的opencv版本目录下去:

cd opencv-3.4.5(这里看自己具体的opencv版本)
  • 2、cd platforms/linux

  • 3、vim arm-gnueabi.toolchain.cmake修改成:

set(GCC_COMPILER_VERSION "" CACHE STRING "GCC Compiler version")
set(GNU_MACHINE "/home/txp/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf" CACHE STRING "GNU compiler triple")
include("${CMAKE_CURRENT_LIST_DIR}/arm.toolchain.cmake")
5123c53316f85a4e4f7c04d127b82623.png

注意这里的交叉编译工具链的路径还是上面的路径:

/home/txp/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf
  • 4、建立一个build目录,并进入build下去:

f5896115b533955aac419bbc1bab4e99.png
  • 5、编译:

cmake -DCMKAE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake -DCMAKE_INSTALL_PREFIX=/opt/arm_opencv -DSOFTFP=ON -DENABLE_PROFILING=OFF -DWITH_OPENCL=OFF -DWITH_TBB=ON -DWITH_V4L=ON -DHAVE_CAMV4L2=ON -DBUILD_TESTS=OFF -DINSTALL_PYTHON_EXAMPLES=OFF -DBUILD_EXAMPLES=OFF -DWITH_FFMPEG=ON -DHAVE_FFMPEG=ON -DBUILD_opencv_js=OFF -DENABLE_NEON=OFF -DENABLE_VFPV3=OFF ../
  • 6、 make -j8

  • 7、make install

最后结果:

移植sqlite3、opencv到rv1126开发板上!_第10张图片

同意等会我们把需要的文件移植到板子上去!

四、rv1126人脸识别工程交叉编译:

现在我们的人脸识别代码已经开发出来了:

git clone https://gitee.com/harry12345123/rv1126_face_recognize.git

用户名:Harry12345123
密码:Aa123456

在编译之前,我们要修改一下Makefile:

移植sqlite3、opencv到rv1126开发板上!_第11张图片

最后make就行!

五、最后:

今天暂时先分享到这里,最后的效果等这周拿到屏幕,再综合给大家在板子上演示,包括视频教程一起录制。这是之前在板子上演示的物体识别效果:

现在当前优讲解的具体的课程内容大纲如下:

移植sqlite3、opencv到rv1126开发板上!_第12张图片

移植sqlite3、opencv到rv1126开发板上!_第13张图片

如果加了星球的朋友,可以私聊我进解答群!

你可能感兴趣的:(人脸识别,cmake,java,jni,arm)