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板的更多相关文章

  1. OpenCV在ARM上的移植

    OpenCV在ARM上的移植 与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方 ...

  2. opencv在arm和x86在移植

    一个.开发环境 操作系统:fedora14 Opencv版本号:2.0 Qt版本号:4.7 arm:mini6410 交叉编译工具:arm-linux-gcc-4.5.1 二.安装与配置 Linux系 ...

  3. ARM板移植udev-126

    下载udev-126.tar.xz 下载的网址为: https://mirrors.edge.kernel.org/pub/linux/utils/kernel/hotplug/ 解压文件并且编译 # ...

  4. OPENCV在ARM平台的移植

    两篇别人推荐给我的文章,我想直接复制过来,呵呵,但一想真不好,等我做一遍了再来写一遍.还是贴链接. OpenCV在ARM上的移植:http://www.cnblogs.com/emouse/archi ...

  5. SQL数据库移植到ARM板步骤

    SQL作为一种存储数据的数据结构,具有体积小(能堵存储的数据多),容易移植等优点.例如,在Ubuntu或者ARM开发板上被大量应用.下面就简单说一下SQL移植到ARM板的步骤. 下载源代码 (记得在家 ...

  6. 移植madplay到ARM板

    一.环境和软件介绍 1.主机环境:Ubuntu16.04 2.交叉编译器: gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 3.ARM板:kernel: ...

  7. 移植qt5.3.1到arm

    最近刚入手一款开发板(比较低端,刚毕业工作还没一个月,穷屌丝一个).在学校以前都是用的是Friendly Arm的6410,使用的qt版本是使用的最多的4.7.0版本,入手的板子是4.7.4.qt5出 ...

  8. 编译在arm板上使用的sqlite3的静动态库

    采用的是sqlite-autoconf-3080002.tar.gz 解压 tar xvf sqlite-autoconf-3080002.tar.gz 进入 cd sqlite-autoconf-3 ...

  9. 计算机与ARM板通过路由器相连

    首先,使用两根网线分别将计算机和ARM板与路由器的LAN口连接. 要想使计算机和ARM板通信,必须使二者在同一网段. 在计算机的终端输入:ifconfig 获取计算机的ip地址,查看eth0,我的ip ...

随机推荐

  1. Fedora20在神州战神K650D1安装过程,使用netinstall和Dvd.iso镜像安装。

    最近新买一笔记本,神州战神K650D-i5 D1.仍旧安装双系统,WIndows7+Fedora20.磁盘分区是这样的: 第一主分区 /boot ext4 20G 第二主分区 / ext4 70G 第 ...

  2. Spring ioc xml 实例化bean 自己实现

    public class DefClassPathXmlApplicationContext { private String xmlPath; public DefClassPathXmlAppli ...

  3. iOS UmbrellaHeader

    Lexical or Preprocessor Issue - Umbrella header for module 'xxx' does not include header 'xxx.h' fra ...

  4. 从零搭建一个SpringCloud项目之Feign搭建

    从零搭建一个SpringCloud项目之Feign搭建 工程简述 目的:实现trade服务通过feign调用user服务的功能.因为trade服务会用到user里的一些类和接口,所以抽出了其他服务需要 ...

  5. [vijos1844]遭遇战<SPFA>

    题目链接:https://vijos.org/p/1404 我在二分查找区找到这道题的,没错这就是一道摆在二分区但是可以用SPFA做的一道题(当然我后来去看了下分区,貌似这题的方法很多) 这一题还是比 ...

  6. Java是未来的第一编程语言吗?

    目录 一.前言 二.Java帝国的今天 2.1 依然霸占TIOBE热门编程语言的榜首 2.2 曾经想扼杀Java的微软宣布加入OpenJDK 2.3 Oracle发布开源全栈虚拟机GraalVM 三. ...

  7. F - F HDU - 1173(二维化一维-思维)

    F - F HDU - 1173 一个邮递员每次只能从邮局拿走一封信送信.在一个二维的直角坐标系中,邮递员只能朝四个方向移动,正北.正东.正南.正西. 有n个需要收信的地址,现在需要你帮助找到一个地方 ...

  8. 为什么Swift和Python要抛弃++\--?

    简单好用的++.-- 说到自增(++)\自减(--)运算符,小伙伴们应该都不会陌生,在很多编程语言的代码中,都经常出现它们的身影. 比如常用的for语句 for (int i = 0; i < ...

  9. Light of future-冲刺Day 6

    目录 1.SCRUM部分: 每个成员进度 SCRUM 会议的照片 签入记录 代码运行截图 用户浏览界面 订单详情界面 管理员浏览界面 新增后台界面 2.PM 报告: 时间表 燃尽图 任务总量变化曲线 ...

  10. web页面调用支付宝支付

    web页面调用支付宝支付 此文章是前端单独模拟完成支付,若在线上环境则需要后台配合产生签名等参数 在蚂蚁金服开放平台申请沙箱环境 将沙箱环境中的密钥.应用网关.回调地址补全,生成密钥的方法在此 配置好 ...