监控系统模块(2023-05-19)
每个实验室包括楼道都有监控,考虑到方便管理,开发监控系统模块来对监控的信息进行捕获分析和储存。考虑到图片可能比较多这边使用Minio
对象储存。
1、监控快照拍摄预览
使用opencv
来对监控进行读取,传入的变量时监控的rtsp
链接,调用cv2.VideoCapture()
方法来打开链接、图片或者视频,通过.read()
方法可以读取一帧的图片并返回给frame
同时也会返回一个变量表示是否读取成功,调用cv2.imwrite(filePath, frame)
方法来对读取的一帧图片保存到本地,该模块只是对监控的预览,暂时设定为每分钟拍摄一张图片并上传到对象储存仓库。
连接Minio
对象仓库使用boto3
包,通过url
和两个key
即可生成一个S3
连接。之后调用upload_file()
方法即可向相应的桶中上传对象。
考虑到预览的时效性,这边只是每个摄像头保存30张图片用来记录信息。定时调用来对桶中包括Lab系统数据库中的记录进行删除。
2、快照分析事件发现
当对监控拍照之后储存到预览桶中,后续考虑可以接入事件分析模块,对快照进行分析,比如识别人数、识别有无烟雾、识别有无同学在实验室吃东西等,如果发现即将事件描述和该快照储存到事件桶中,并向Lab系统发送信息将图片信息储存到数据库中。
标签:储存,快照,模块,预览,系统,监控,图片 From: https://www.cnblogs.com/hhhhuaz/p/17415387.html