智能降噪
自适应降噪,去除照片噪点同时保留边缘和纹理细节。
适用场景
- 高 ISO 拍摄的照片噪点明显
- 用户说"降噪" / "去噪" / "噪点太多" / "图片有颗粒感" / "高ISO降噪"
- 暗光环境拍摄的照片需要清理噪点
依赖
pip install opencv-python-headless numpy
使用流程
- 接收一张需要降噪的照片
- 运行脚本:
bash python <skill_dir>/scripts/denoise.py <input.jpg> -o <output.jpg> [--strength 10] [--preserve-edges] - 用
present_files展示结果
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
input |
(必填) | 输入图片路径 |
-o, --output |
./denoised.jpg |
输出路径 |
--strength |
10 |
降噪强度 3-30,值越大去噪越强 |
--preserve-edges |
关 | 启用双边滤波保边 |
技术要点
- Laplacian 方差估噪:用
Laplacian 标准差 / 4近似噪声标准差,自动判断噪点严重程度 - 自动强度调整:当噪声水平 > 8 且用户未指定强度时,自动设为
min(30, noise * 1.5) - 非局部均值去噪(fastNlMeansDenoisingColored):OpenCV 最强的去噪算法,利用图像全局自相似性,比高斯/中值滤波保细节更好
- 可选双边滤波保边:在非局部均值后再做一次双边滤波,进一步保边降噪
- 轻锐化恢复:降噪后做 1.15/-0.15 的反锐化蒙版,补偿降噪带来的轻微模糊
常见调参
- 轻度噪点(ISO 800 以下):
--strength 7 - 中度噪点(ISO 1600-3200):
--strength 12 - 严重噪点(ISO 6400+):
--strength 20 --preserve-edges - 人像降噪:
--strength 10 --preserve-edges(保皮肤纹理)
文件结构
photo-denoiser/
├── SKILL.md
└── scripts/
└── denoise.py