目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

X

人脸识容器&MQ

在 docker 中安装人脸识别镜像

上传镜像 face.tar.gz

1[root@localhost tmp]# docker load <  face.tar.gz
2[root@localhost tmp]# docker images

创建 docker 容器

解压 demo.tar

1[root@localhost tmp]# tar -xvf demo.tar
2[root@localhost tmp]# docker run -d -it -p 3000:3000 -v /tmp/demo:/demo --name node face
3
4
5[root@localhost tmp]# docker ps
6CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
70ef91128ee5c        face                "bash"              47 seconds ago      Up 46 seconds       0.0.0.0:3000->3000/tcp   node

运行人脸识别程序

 1### 进入容器
 2[root@localhost tmp]# docker exec -it node bash
 3
 4### 退出容器
 5[root@localhost tmp]# exit
 6
 7### 把Python程序挂起到后台运行
 8nohup python3 -c "from app import app;" > log.out 2>&1 &
 9
10### 查看进程
11root@0ef91128ee5c:/demo# ps -aux
12USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
13root         1  0.0  0.0  19944  2016 ?        Ss+  07:34   0:00 bash
14root        11  0.0  0.1  19944  2268 ?        Ss   07:40   0:00 bash
15root        17 15.5  7.8 681492 161228 ?       Sl   07:41   0:03 python3 -c from app import app;
16root        22  0.0  0.0  38376  1636 ?        R+   07:41   0:00 ps -aux
17
18### 停止进程(人脸识别程序)
19root@0ef91128ee5c:/demo# kill -9 17

接口调用

人脸识别程序是基于 Flask 框架开发的,提供 Web 接口,具体如下:

  1. 创建人脸模型数据
    当Emos系统的MySQL数据库中不存在签到员工的人脸模型数据,这时候应该调用人脸识别程序的Web接口,上传照片文件,然后由Python程序识别照片中的人脸,返回人脸模型数据。Java系统接收到人脸模型数据之后,把数据保存在MySQL数据表里面。
    接口名称: /create face model
    请求类型: POST
    传入参数: icode
    返回结果:人脸模型数据
  2. 执行人脸签到识别
    接口名称: /checkin
    请求类型:POST
    传入参数: icode

RabbitMQ

1docker load < rabbitmq.tar.gz
2docker run -it -d --name mq -p 15672:15672 -p 5672:5672 rabbitmq

 


作者:Soulboy