大家好,在历时一个多月的时间,终于把这个音视频实战项目人脸识别源码讲解完成了(这个是基于虚拟机上的人脸识别工程代码!):
音视频实战项目工程代码讲解!在上周由于个人有事情,所以只简单更新了一部分板子上的硬件说明和固件烧写,以及通过vlc来抓取摄像头的画面!
这周先给大家更新一下交叉编译sqlite3和opencv以及人脸识别工程!
整体的话,就差商家那边的触摸屏幕了,到时候就可以有一个完整的效果出来!整个环境搭建过程是手把手的教!
等下周屏幕可以拿到了,先在板子跑一下人脸识别和物体识别,人脸识别的速度,现在优化了,比之前在虚拟机上快了很多,后期还会继续优化代码。
所以后面的重点在rk平台上的接口和源码解读!对了现在开发板的sdk整体编译,大家拿到板子不用去编译这个,直接先烧写他默认的固件就行,不然浪费时间,这个sdk商家给的有点坑爹.....,你编译出来了也没啥用,就走一个编译流程,代码不用他们的,用我们自己写的工程!
ok,开始今天的分享!
在交叉编译之前,得在sdk里面找到交叉编译工具链:
商家提供的sdk里面的交叉工具链然后我这里放在samba共享目录下,这里特别说一下,是为了等下路径的问题,等会有用:
现在开始来交叉编译sqlite3,这个sqlite3的源码还是用之前给大家的源码包:
解压出来:
tar -zxvf sqlite-autoconf-3380500.tar.gz
然后开始进行交叉编译,不过在在这之前,先在当前目录下创建一个文件夹来存放等下交叉编译出来文件:
mkdir arm_sqlite3_install
最后最为关键部分是,现在找到那个之前交叉编译的路径来,也就是结对路径:
/home/txp/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin
接着刚才建立的arm_sqlite3_install,也是要找到他的绝对路径来:
/home/txp/shared/sqlite-autoconf-3380500/arm_sqlite3_install
最后就可以按照下面这个命令来执行编译了:
./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
然后执行分别执行以下命令即可:
make -j8
make install
最后在arm_sqlite3_install目录下生成四个文件:
等会我们把需要的文件拷贝到板子上去,这里先暂时这样!
这里同样用是之前的源码包来交叉编译:
然后按照下面的步骤来进行编译:
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")
注意这里的交叉编译工具链的路径还是上面的路径:
/home/txp/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf
4、建立一个build目录,并进入build下去:
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
最后结果:
同意等会我们把需要的文件移植到板子上去!
现在我们的人脸识别代码已经开发出来了:
git clone https://gitee.com/harry12345123/rv1126_face_recognize.git
用户名:Harry12345123
密码:Aa123456
在编译之前,我们要修改一下Makefile:
最后make就行!
今天暂时先分享到这里,最后的效果等这周拿到屏幕,再综合给大家在板子上演示,包括视频教程一起录制。这是之前在板子上演示的物体识别效果:
现在当前优讲解的具体的课程内容大纲如下:
如果加了星球的朋友,可以私聊我进解答群!