监控系统模块

监控系统模块(2023-05-19)

每个实验室包括楼道都有监控,考虑到方便管理,开发监控系统模块来对监控的信息进行捕获分析和储存。考虑到图片可能比较多这边使用Minio对象储存。

1、监控快照拍摄预览

使用opencv来对监控进行读取,传入的变量时监控的rtsp链接,调用cv2.VideoCapture()方法来打开链接、图片或者视频,通过.read()方法可以读取一帧的图片并返回给frame同时也会返回一个变量表示是否读取成功,调用cv2.imwrite(filePath, frame)方法来对读取的一帧图片保存到本地,该模块只是对监控的预览,暂时设定为每分钟拍摄一张图片并上传到对象储存仓库。

image-20230519153755048

连接Minio对象仓库使用boto3包,通过url和两个key即可生成一个S3连接。之后调用upload_file()方法即可向相应的桶中上传对象。

image-20230519154003489

考虑到预览的时效性,这边只是每个摄像头保存30张图片用来记录信息。定时调用来对桶中包括Lab系统数据库中的记录进行删除。

image-20230519154610913

image-20230519154935772

2、快照分析事件发现

当对监控拍照之后储存到预览桶中,后续考虑可以接入事件分析模块,对快照进行分析,比如识别人数、识别有无烟雾、识别有无同学在实验室吃东西等,如果发现即将事件描述和该快照储存到事件桶中,并向Lab系统发送信息将图片信息储存到数据库中。

image-20230519154954188

posted @ 2023-05-19 15:51  hhhhuaz  阅读(108)  评论(0)    收藏  举报