| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python实现摄像头状态巡检 -> 正文阅读 |
|
[Python知识库]Python实现摄像头状态巡检 |
这个需求是怎么来的呢?笔者看到部门同事要经常检查监控摄像头是不是正常工作,需要登录一个个主机来检测画面是不是偏了,发黑,过度发白等,其实是挺耗时间的,既然现在的设备都是IOT了,监控镜头也是走网络了,为什么Python不能自动巡检呢? 机会就是这么产生的。 在这个摄像头巡检的过程中,是使用了rtsp的协议,最关键的核心节点有两个: 1. 通过rtsp连接摄像头获取当前的图片,代码如下: def get_pic(info): ??? picturevalue=0 ??? cam_no=info[0] ??? ip=info[1] ??? file_name='images\\'+info[0]+".jpg" ??? username='***************' ??? password=‘***************’ ??? port="554" ??? try: ??????? cap = cv2.VideoCapture("rtsp://" + username + ":" + password+ "@" + ip? + ":" + port + "/Streaming/Channels/1") ??????? isOpened=cap.isOpened() ??????? print(isOpened) ??????? print(type(isOpened)) ??????? print(file_name) ??????? if isOpened: ??? ????????ret, frame = cap.read() ??????????? cv2.imwrite(file_name, frame) ??????? cap.release() ??????? print('完成抓拍') ??????? picturevalue=get_pic_value(file_name) ??? except: ??????? picturevalue=str(0) return cam_no,picturevalue 这里主要是通过CV调用摄像头,获取图片并保存到指定路径。 2. 图片分析,如何通过图片判断这个摄像头的状态是否正常。在这里,笔者选用了提取图片的亮度值作为参考值,具体的原因如下:
当然,选取亮度值作为参考也有局限性,会受到天气的影响,当然,我们可以将参考阈值设置的宽泛一点(参考值与实际值之间的差距),建议参考阈值不超过10,如果超过10,如果画面是正常的,可以修改参考值。当然,更智能一点,可以动态设置参考值,以前30天的平均实际值作为参考,这样会更精确一点。 ??? def get_pic_value(img_name): ??? im=Image.open(img_name).convert('L') ??? start=ImageStat.Stat(im) return str(int(start.mean[0])) 整体方案设计如下: 目前这个方案已经部署在笔者公司,基本上一些大的问题都可以通过这个机制发现,期待基于这些数据图片上进一步拓展,发现更多有益于业务需求的机会。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:57:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |