视频红外夜视转换
把彩色监控/摄像头视频转成类似红外夜视的黑白效果。
快速使用
# 默认参数转换
python skills/video-infrared-converter/scripts/convert_to_nightvision.py input.mp4
# 指定输出路径
python skills/video-infrared-converter/scripts/convert_to_nightvision.py input.mp4 -o output.mp4
# 参考红外夜视图片自动调参
python skills/video-infrared-converter/scripts/convert_to_nightvision.py input.mp4 --ref ref_nightvision.jpg
参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
-c, --contrast |
对比度 (0.5~2.0) | 自动/1.0 |
-b, --brightness |
亮度偏移 (-1.0~1.0) | 自动/-0.12 |
-g, --gamma |
Gamma 校正 (0.1~2.0),让暗区更暗 | 自动/0.8 |
--ref |
参考图路径,自动匹配亮度风格 | 无 |
--no-auto |
禁用自动调参 | 不启用 |
--info |
只显示视频信息不转换 | 无 |
-o, --output |
输出路径 | 输入文件名+_nightvision |
效果
转换参数链:hue=s=0(去色) → eq(对比度/亮度/Gamma)
典型配置对比:
| 场景 | contrast | brightness | gamma | 效果 |
|---|---|---|---|---|
| 默认夜视 | 1.0 | -0.12 | 0.8 | 整体压暗,暗区更黑 |
| 强烈夜视 | 1.2 | -0.15 | 0.7 | 高对比,暗区极黑 |
| 柔和夜视 | 0.9 | -0.08 | 无 | 略降亮度,保留细节 |
| 极暗夜视 | 1.0 | -0.22 | 无 | 整体极暗 |
依赖
- ffmpeg (需在 PATH 或标准安装路径)
- Python: PIL + numpy (自动调参时需要;仅转码只需 ffmpeg)
调参原理
--ref 指定一张红外夜视参考图后,自动在参数空间中搜索亮度均值和暗区比例(<60亮度)最接近的组合,找到最优 contrast/brightness/gamma 后应用到全视频。