简介
gaussian_blur.py 是一个基于 python 的图片处理脚本,使用 pillow 库对图片应用高斯模糊效果。支持自定义模糊强度,自动生成输出文件名,适用于批量处理或快速模糊图片。
项目源码:https://github.com/pioneeryz/gaussian_blur.git
功能特点
- 支持 jpg/jpeg/png 等常见图片格式
- 可自定义模糊半径(强度)
- 自动生成输出文件名
- 自动创建输出目录
- 显示处理进度和文件信息
- 完善的错误处理和参数验证
安装依赖
环境要求
- python 3.6+
- pillow 库
安装 pillow
pip install pillow
或使用国内镜像加速:
pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
使用方法
基本语法
python gaussian_blur.py <输入图片> [输出图片] [选项]
参数说明
| 参数 | 说明 | 默认值 |
|---|---|---|
| input | 输入图片路径(必需) | - |
| output | 输出图片路径(可选) | <原文件名>_blurred.<原扩展名> |
| -r, --radius | 模糊半径,值越大越模糊 | 2.0 |
| -o, --output-path | 输出路径(与 output 功能相同) | - |
模糊半径说明
- 范围:0.1 ~ 50
- 值越大,模糊效果越强
- 推荐范围:
1-3:轻微模糊,保留轮廓5-10:中等模糊,适合隐私遮挡15-30:强模糊,面部识别困难>30:极强模糊,几乎无法辨认
使用示例
1. 基本使用(默认参数)
python gaussian_blur.py photo.jpg
输出:photo_blurred.jpg(模糊半径 2.0)
2. 指定输出文件名
python gaussian_blur.py photo.jpg output.jpg
或使用 -o 参数:
python gaussian_blur.py photo.jpg -o output.jpg
3. 自定义模糊强度
# 轻微模糊 python gaussian_blur.py photo.jpg -r 3 # 中等模糊(适合隐私遮挡) python gaussian_blur.py photo.jpg -r 10 # 强模糊 python gaussian_blur.py photo.jpg -r 25 # 极强模糊 python gaussian_blur.py photo.jpg -r 50
4. 完整参数示例
python gaussian_blur.py /path/to/input.png -r 15 -o /path/to/output.png
5. 处理不同格式
# jpg 格式 python gaussian_blur.py image.jpg -r 5 # png 格式(保留透明度) python gaussian_blur.py image.png -r 5 # 其他格式 python gaussian_blur.py image.bmp -r 5
输出示例
==================================================
🔮 图片高斯模糊处理工具
==================================================
📷 正在打开图片:photo.jpg
原图尺寸:1920 x 1080
图片模式:rgb
🔮 正在应用高斯模糊(半径:5.0)...
💾 正在保存图片:photo_blurred.jpg
✅ 处理完成!
输出文件:photo_blurred.jpg
文件大小:245.67 kb
批量处理
shell 脚本批量处理
#!/bin/bash
# 批量模糊当前目录下所有 jpg 图片
for file in *.jpg; do
python gaussian_blur.py "$file" -r 10
donepowershell 批量处理
# 批量模糊当前目录下所有 jpg 图片
get-childitem *.jpg | foreach-object {
python gaussian_blur.py $_.name -r 10
}python 批量处理脚本
import os
import subprocess
# 批量处理文件夹中的图片
input_dir = "./images"
output_dir = "./blurred"
radius = 10
os.makedirs(output_dir, exist_ok=true)
for filename in os.listdir(input_dir):
if filename.lower().endswith(('.jpg', '.jpeg', '.png')):
input_path = os.path.join(input_dir, filename)
output_path = os.path.join(output_dir, filename)
cmd = [
'python', 'gaussian_blur.py',
input_path, '-r', str(radius), '-o', output_path
]
subprocess.run(cmd)
常见问题
q1: 提示 "未找到 pillow 库"
错误信息:
❌ 错误:未找到 pillow 库
请先安装:pip install pillow
解决方法:
pip install pillow
q2: 输入文件不存在
错误信息:
❌ 错误:输入文件不存在 - photo.jpg
解决方法:
- 检查文件路径是否正确
- 确保文件存在
- 使用绝对路径:
python gaussian_blur.py /full/path/to/photo.jpg
q3: 模糊半径警告
警告信息:
⚠️ 警告:半径过小,已调整为 0.1
⚠️ 警告:半径过大,已调整为 50
说明:
- 脚本会自动修正超出范围的值
- 模糊半径范围:0.1 ~ 50
q4: 输出目录自动创建
如果指定的输出目录不存在,脚本会自动创建:
💾 正在保存图片:./output/blurred/photo.jpg
创建输出目录:./output/blurred
技术细节
支持的图片格式
| 格式 | 扩展名 | 保存质量 |
|---|---|---|
| jpeg | .jpg, .jpeg | quality=95 |
| png | .png | 无损压缩 |
| bmp | .bmp | 默认设置 |
| 其他 | - | 默认设置 |
处理流程
- 检查输入文件是否存在
- 打开图片并获取信息
- 应用高斯模糊滤镜
- 创建输出目录(如需要)
- 根据格式保存图片
- 显示处理结果
退出码
| 退出码 | 说明 |
|---|---|
| 0 | 处理成功 |
| 1 | 处理失败 |
可用于脚本中判断处理结果:
python gaussian_blur.py photo.jpg -r 5
if [ $? -eq 0 ]; then
echo "处理成功"
else
echo "处理失败"
fi
隐私保护建议
高斯模糊常用于保护隐私(如遮挡人脸、车牌、敏感信息):
遮挡人脸
python gaussian_blur.py face.jpg -r 15
遮挡车牌
python gaussian_blur.py car.jpg -r 20
遮挡敏感文字
python gaussian_blur.py document.jpg -r 10
注意:对于局部遮挡,建议使用图像编辑软件(如 photoshop、gimp)或专门的隐私保护工具。
到此这篇关于基于python编写图片高斯模糊处理脚本的文章就介绍到这了,更多相关python图片高斯模糊处理内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论