移植seetafaceengine-master、opencv到ARM板
0、前言
- 在要移植opecv和SeetaFaceEngine-master到ARM板子上运行的所有步骤之前,有几点需要注意的:
- 查看板子运行的Kernel版本
- 交叉编译工具链的gcc版本,关键就是工具链里库所能支持的最低内核版本
- 可以用file xxx.so,查看
- 工具链的版本会影响到opecv、seetaface的编译工程,以及编译出来的opecv库、seetaface最终的可执行文件能否在板子的内核里跑起来
- 文件系统系统里的lib库最好用与上面提到的同一个工具链里的库
- 在进行seetaface的交叉编译之前,要先确定opencv已经交叉编译好了,opencv、seetaface、制作根文件系统的busybox这三者用到的交叉编译工具链应一致
- 交叉编译opencv3.4.6:https://www.cnblogs.com/xz-954042850-qq/p/12598388.html
- 交叉编译seetafaceengine-master:https://www.cnblogs.com/xz-954042850-qq/p/12599446.html
1、前提准备
- Linux操作系统:Ubuntu 16.04
- OpenCv版本:3.4.6
- 交叉工具链:arm-2014.05-29-arm-none-linux-gnueabi-,gcc version 4.8.3
- 目标平台:ARM
- 板 子:study210,kernel:2.6.35
- SoC :S5PV210
- busybox :1.31.1
- 文件系统:nfs方式挂载
- 编译时间:2020/3/30
2、移植进ARM板
- 把整个已经在Ubuntu里编译好的SeetafaceEngine-master、用到的交叉编译工具链的库文件、已经交叉编译编译好的opencv库拷贝到在Ubuntu中的文件夹形式的根文件系统里。重点关注的一个可执行文件:FaceIdentification/build/src/test/test_face_verification.bin
- 在FaceIdentification目录中,执行:./build/src/test/test_face_verification.bin
- 如果出现下面的问题:

- 或者

- 解决方法:
- 在Ubuntu里find / -name libstdc++.so.6,如果发现我们所用的2014的交叉编译工具链里有这文件,那么进去相应目录用命令查看是不是软连接(符号链接),如果是就把它所指向的动态库拷贝到挂载的根文件系统的相应目录中,例如我的是:/usr/lib(注意:这是在板子上看到的目录,如果是Ubuntu那么你得对应nfs服务器的目录,例如我的是:root/rootfs/rootfs/usr/lib)
- 然后,在上面说的拷贝到的目标目录中,建立拷贝过来的那个动态库的软链接为libstdc++.so.6
- 在FaceIdentification目录中,再次执行:./build/src/test/test_face_verification.bin
- 报错信息:

- 解决方法:
- 这问题是由于路径不对引起的段错误,修改SeetaFaceEngine-master/FaceIdentification/src/test/test_face_verification.cpp

在FaceIdentification目录中,再次执行:./build/src/test/test_face_verification.bin

上面圈住输出的信息代表执行成功,其他输出信息是我调试 FaceIdentification/src/test/test_face_verification.cpp 时添加的调试信息。
- 你的点赞,便是我的动力!!!
移植seetafaceengine-master、opencv到ARM板的更多相关文章
- OpenCV在ARM上的移植
OpenCV在ARM上的移植 与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方 ...
- opencv在arm和x86在移植
一个.开发环境 操作系统:fedora14 Opencv版本号:2.0 Qt版本号:4.7 arm:mini6410 交叉编译工具:arm-linux-gcc-4.5.1 二.安装与配置 Linux系 ...
- ARM板移植udev-126
下载udev-126.tar.xz 下载的网址为: https://mirrors.edge.kernel.org/pub/linux/utils/kernel/hotplug/ 解压文件并且编译 # ...
- OPENCV在ARM平台的移植
两篇别人推荐给我的文章,我想直接复制过来,呵呵,但一想真不好,等我做一遍了再来写一遍.还是贴链接. OpenCV在ARM上的移植:http://www.cnblogs.com/emouse/archi ...
- SQL数据库移植到ARM板步骤
SQL作为一种存储数据的数据结构,具有体积小(能堵存储的数据多),容易移植等优点.例如,在Ubuntu或者ARM开发板上被大量应用.下面就简单说一下SQL移植到ARM板的步骤. 下载源代码 (记得在家 ...
- 移植madplay到ARM板
一.环境和软件介绍 1.主机环境:Ubuntu16.04 2.交叉编译器: gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 3.ARM板:kernel: ...
- 移植qt5.3.1到arm
最近刚入手一款开发板(比较低端,刚毕业工作还没一个月,穷屌丝一个).在学校以前都是用的是Friendly Arm的6410,使用的qt版本是使用的最多的4.7.0版本,入手的板子是4.7.4.qt5出 ...
- 编译在arm板上使用的sqlite3的静动态库
采用的是sqlite-autoconf-3080002.tar.gz 解压 tar xvf sqlite-autoconf-3080002.tar.gz 进入 cd sqlite-autoconf-3 ...
- 计算机与ARM板通过路由器相连
首先,使用两根网线分别将计算机和ARM板与路由器的LAN口连接. 要想使计算机和ARM板通信,必须使二者在同一网段. 在计算机的终端输入:ifconfig 获取计算机的ip地址,查看eth0,我的ip ...
随机推荐
- vue动态定义图片路径
当我在html模块或者css中引入图片的时候用相对路径,例: <div> <img src="../../assets/img/policeImg/tt.png" ...
- 从阿里、腾讯的面试真题中总结了这11个Redis高频面试题
前言 现在大家的工作生活基本已经是回归正轨了,最近也是迎来了跳槽面试季,有些人已经拿到了一两个offer了. 这段时间收集了阿里.腾讯.百度.京东.美团.字节跳动等公司的Java面试题,总结了Redi ...
- Python python 函数参数:必选参数,默认参数
import math # 函数的必选参数 '''函数的必选参数,指的是函数调用的时候必须传入的参数 ''' def cal (n): return n * n var = cal(2) '''上面的 ...
- 【LeetCode】18.四数之和
题目描述 18. 四数之和 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 t ...
- Mysql 随笔记录
Soundex 声音相似的 select * from demos where Soundex('title') = Soundex('标示'); Concat 拼接语句 select concat( ...
- 开源APP
仿微信 https://github.com/zhengwenming/WeChat 电台韵律 https://github.com/DaMingShen 运动App https://github.c ...
- SQL 实习
一. tem表 group by 分组后,有三个编号,找出最下的订单时间,比较选出时间段内的数据.注意group by 和 having的用法. group by 的用法 不用聚合函数的时候,每类出现 ...
- Python学习笔记:函数和变量详解
一.面向对象:将客观世界的事物抽象成计算机中的数据结构 类:用class定义,这是当前编程的重点范式,以后会单独介绍. 二.函数编程:逻辑结构化和过程化的一种编程方法 1.函数-->用def定义 ...
- [leetcode] 树(Ⅱ)
All questions are simple level. Construct String from Binary Tree Question[606]:You need to construc ...
- Java 配 Shell 等于美酒加咖啡
化学中我们得知「氢气加氧气在点燃的情况下会生成水」. 生活中我们得知「良辰加美景的情况下会得到千金春宵一刻」. 技术上又何尝不是如此呢?先假设一个场景:BOSS 让你实现一个服务监控的指挥室,能看到每 ...