GithubHelp home page GithubHelp logo

aqin1 / intelligent-identification-system Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yobezhou/intelligent-identification-system

0.0 1.0 0.0 1.74 MB

基于S5P6818(A53八核)实习的智能识别系统。涉及Linux文件IO基础、RFID射频识别技术、V4L2、多用户信息管理、多线程、多进程等多方面的知识。

Makefile 0.31% C 86.70% C++ 12.99%

intelligent-identification-system's Introduction

本系统包括三种模式:

  • 标准模式----系统默认状态是加载已有账户列表,并不断监测RFID模块是否有识别到ID卡,如有则显示对应的ID身份图像;
  • 注册账户----通过用户选择进入添加账户模式,把识别到的ID添加到链表中,同时保存到备份文件,并实现摄像头实时捕捉对应的人物信息,保存为JPG图像。
  • 注销账户----用户将已注册的ID卡注销,同时删除对应的账户信息,包括删除链表节点及文件的对应内容。

在项目中涉及到一个主线程及三个子线程:

  • 主线程(main函数)负责监控用户的输入信息,根据用户的需求切换工作模式;
  • 子线程一(rfid_work)负责监测射频识别模块的工作,及时把获取到的身份信息发送给系统,以便进行身份信息的进一步处理;
  • 子线程二(Sys_Work)负责系统运行模式的切换及具体功能的实现,包括rfid_standard_mode(); rfid_add_id(); rfid_del_id();
  • 子线程三(Cam_Work)负责摄像头的功能实现,当系统进入注册ID模式时,不断地对捕捉到的视频流进行处理,并实时显示到LCD上。

应用层

  主要是调用V4L2驱动接口实现:

  • 打开摄像头并进行初始化;
  • 启动摄像头捕捉数据;
  • 把摄像头得到的数据保存到内存中;
  • 把数据流转换为RGB格式数据供LCD实时显示;
  • 把RGB格式的数据编码压缩为JPG格式图片。

系统内部管理流程:

  • 在注册账户模式下, 通过射频识别模块的读卡功能,每次读卡成功则保存对应的卡ID到账户链表中,同时把该ID号写到读卡机记录文档中,以便保存历史注册信息。
  • 在标准模式下,当读到卡数据时候, 会自动和账户链表中记录的各个账户信息进行匹配,如果匹配项显示对应的信息,如无则不显示。
  • 在注销账户下将已注册的ID卡注销,同时删除对应的账户信息,包括删除链表节点及记录文档的对应内容。

使用到链表进行账户管理, 使用记录文档保管对应的账户信息。

项目成品概览

图5-1 项目成品图

intelligent-identification-system's People

Contributors

yobezhou avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.