前言

结合本科人工智能专业学到的 Python 计算机视觉知识,用 OpenCV 库写了一款极简的监控视频智能筛查小脚本。
日常办案里,民警常常要面对几小时甚至一整天的监控录像,纯人工逐倍速翻看、找暗处可疑画面效率很低。于是我从最基础的画面亮度甄别入手,做了这个简易工具:不用人工全程看视频,程序自动把视频里所有偏暗的画面全部截图保存,快速锁定夜间、背光、隐蔽角落的画面,是实战视频研判最基础的预处理思路,也正好用来练手公安技术方向的编程实操。
下面完整介绍程序功能、公安实战用途、可调参数与原理:

一,程序核心功能

本程序基于 Python+OpenCV 计算机视觉库开发,实现监控视频暗光帧自动提取
读取本地监控 MP4 视频;
逐帧计算单张画面的整体平均亮度;
根据设定的亮度阈值,自动筛选亮度不达标的偏暗画面;
将筛选出的可疑帧以图片格式,统一保存到指定文件夹;
控制台同步打印帧序号、文件保存路径、画面亮度值,全程运行日志可追溯。

二、公安实战场景里的实际应用价值

1.海量监控快速排查
刑侦、治安办案中,监控录像经常长达数小时甚至一整天,人工逐帧翻看耗时极长。本工具可以自动把全视频里所有昏暗画面一次性截出,侦查人员仅查看少量截图,就能快速定位夜间活动、背光作案、隐蔽角落的可疑行为,大幅节约办案人力与时间。
2.音视频物证预处理
提取出的单帧图像,可直接作为后续人脸识别、车牌识别、画面增强、痕迹物证检验的基础素材,是公安电子物证实验室视频分析的基础预处理流程。
3.异常安防预警
可用于园区、道路、小区安防巡检:自动识别画面突然变暗的异常情况,比如摄像头被遮挡、深夜有人翻墙闯入、监控灯光故障等异常场景。
4.案件卷宗素材归档
筛选后的截图自动命名、有序存放,画面亮度数据全程记录,满足电子物证可溯源、可存档的规范要求。

三、源代码以及结果展示

被处理视频

monitor

源代码

终端界面展示

提取图片展示

识别出的两张亮度偏低的可疑夜间画面:

四、代码可调整参数详解

① 核心参数:dark_threshold 亮度阈值(当前数值 28)
逻辑:画面亮度数值 < 阈值 → 判定为暗光可疑画面,自动保存;
调大数值(例:150/200):筛选标准放宽,轻微偏暗的画面都会被保存,输出图片数量变多;
调小数值(例:40/60):筛选标准严苛,只有画面很黑的场景才会保存,输出图片更少;
用途:根据监控环境灵活适配,深夜野外监控用小阈值,楼道微光监控用偏大阈值。
② 参数:视频文件路径
例:r"C:\Users\tjh18\Desktop\monitor.mp4"
作用:指定程序读取哪一段监控视频;
修改方式:替换为任意本地监控视频的绝对路径;
用途:随便切换需要排查的监控录像。
③ 参数:截图保存文件夹名
例:"monitor_frame"
作用:筛选出来的截图全部存入这个文件夹;
修改方式:自定义文件夹名称,比如夜间可疑画面;
用途:分类管理不同案件、不同摄像头的截图素材,方便案卷整理。
④ 拓展可优化参数(间隔抽帧当前为1帧/秒)
帧采样间隔:不用每一帧都检测,每隔 5 帧 或 10 帧检测一次,超长视频运行速度更快;
图片格式:jpg(体积小日常查看)/png(无损高清,专业物证检验)自由切换;
新增功能:亮度突变检测、画面移动物体检测、人脸抓拍、车牌提取。

五、个人学习小结

作为公安技术(视频侦查方向)的入门实践,吃透基础的帧读取、亮度分析、画面筛选逻辑,就是复杂视频取证系统的底层基础,后续可以往 AI 视频研判、视频篡改鉴定、模糊画面还原这些专业公安技术方向继续深耕。

更多推荐