基于python 高斯模糊图片处理工具

Gaussian Blur 图片模糊处理工具

🔮 一个简单易用的图片高斯模糊处理脚本


简介

gaussian_blur.py 是一个基于 Python 的图片处理脚本,使用 Pillow 库对图片应用高斯模糊效果。支持自定义模糊强度,自动生成输出文件名,适用于批量处理或快速模糊图片。


功能特点

  • ✅ 支持 JPG/JPEG/PNG 等常见图片格式
  • ✅ 可自定义模糊半径(强度)
  • ✅ 自动生成输出文件名
  • ✅ 自动创建输出目录
  • ✅ 显示处理进度和文件信息
  • ✅ 完善的错误处理和参数验证

安装依赖

环境要求

  • Python 3.6+
  • Pillow 库

安装 Pillow

bash 复制代码
pip install Pillow

或使用国内镜像加速:

bash 复制代码
pip install Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

使用方法

基本语法

bash 复制代码
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. 基本使用(默认参数)

bash 复制代码
python gaussian_blur.py photo.jpg

输出:photo_blurred.jpg(模糊半径 2.0)


2. 指定输出文件名

bash 复制代码
python gaussian_blur.py photo.jpg output.jpg

或使用 -o 参数:

bash 复制代码
python gaussian_blur.py photo.jpg -o output.jpg

3. 自定义模糊强度

bash 复制代码
# 轻微模糊
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. 完整参数示例

bash 复制代码
python gaussian_blur.py /path/to/input.png -r 15 -o /path/to/output.png

5. 处理不同格式

bash 复制代码
# 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

输出示例

markdown 复制代码
==================================================
🔮 图片高斯模糊处理工具
==================================================
📷 正在打开图片:photo.jpg
   原图尺寸:1920 x 1080
   图片模式:RGB
🔮 正在应用高斯模糊(半径:5.0)...
💾 正在保存图片:photo_blurred.jpg
✅ 处理完成!
   输出文件:photo_blurred.jpg
   文件大小:245.67 KB

批量处理

Shell 脚本批量处理

bash 复制代码
#!/bin/bash
# 批量模糊当前目录下所有 JPG 图片

for file in *.jpg; do
    python gaussian_blur.py "$file" -r 10
done

PowerShell 批量处理

powershell 复制代码
# 批量模糊当前目录下所有 JPG 图片
Get-ChildItem *.jpg | ForEach-Object {
    python gaussian_blur.py $_.Name -r 10
}

Python 批量处理脚本

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

解决方法:

bash 复制代码
pip install Pillow

Q2: 输入文件不存在

错误信息:

复制代码
❌ 错误:输入文件不存在 - photo.jpg

解决方法:

  • 检查文件路径是否正确
  • 确保文件存在
  • 使用绝对路径:python gaussian_blur.py /full/path/to/photo.jpg

Q3: 模糊半径警告

警告信息:

复制代码
⚠️  警告:半径过小,已调整为 0.1
⚠️  警告:半径过大,已调整为 50

说明:

  • 脚本会自动修正超出范围的值
  • 模糊半径范围:0.1 ~ 50

Q4: 输出目录自动创建

如果指定的输出目录不存在,脚本会自动创建:

bash 复制代码
💾 正在保存图片:./output/blurred/photo.jpg
   创建输出目录:./output/blurred

技术细节

支持的图片格式

格式 扩展名 保存质量
JPEG .jpg, .jpeg quality=95
PNG .png 无损压缩
BMP .bmp 默认设置
其他 - 默认设置

处理流程

  1. 检查输入文件是否存在
  2. 打开图片并获取信息
  3. 应用高斯模糊滤镜
  4. 创建输出目录(如需要)
  5. 根据格式保存图片
  6. 显示处理结果

退出码

退出码 说明
0 处理成功
1 处理失败

可用于脚本中判断处理结果:

bash 复制代码
python gaussian_blur.py photo.jpg -r 5
if [ $? -eq 0 ]; then
    echo "处理成功"
else
    echo "处理失败"
fi

隐私保护建议

高斯模糊常用于保护隐私(如遮挡人脸、车牌、敏感信息):

遮挡人脸

bash 复制代码
python gaussian_blur.py face.jpg -r 15

遮挡车牌

bash 复制代码
python gaussian_blur.py car.jpg -r 20

遮挡敏感文字

bash 复制代码
python gaussian_blur.py document.jpg -r 10

⚠️ 注意:对于局部遮挡,建议使用图像编辑软件(如 Photoshop、GIMP)或专门的隐私保护工具。


相关资源


更新日志

版本 日期 说明
1.0 - 初始版本

许可证

本脚本仅供学习和个人使用。


创建日期:2026-03-25

相关推荐
财经资讯数据_灵砚智能12 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月28日
人工智能·python·信息可视化·自然语言处理·ai编程
土豆.exe12 小时前
Cast Attack:Java 中 Ghost Bits(幽灵比特)引发的新型安全威胁——Java 生态里被忽视的底层风险引发一系列绕过
java·python·安全
abc123456sdggfd12 小时前
解决Socket图像传输中断问题:基于分块接收与可靠发送的完整教程
jvm·数据库·python
2401_8330336212 小时前
SQL中RIGHT JOIN真的很少用吗_数据完整性检查与反向关联分析
jvm·数据库·python
时空系12 小时前
第7篇功能——打造你的工具箱 python中文编程
开发语言·python·ai编程
Wenzar_12 小时前
# D3.js实战进阶:从基础图表到交互式数据仪表盘的全流程构建在现代前端开发中,**数据可视化已成为提升用户体验的核心能力之一
java·javascript·python·信息可视化·ux
要不枉此行12 小时前
【Python 实战】一键爬取 HTML 文档并合并为完整 PDF
python·pdf·html
AI玫瑰助手12 小时前
Python基础:集合的定义、去重与交并差运算
开发语言·python·信息可视化
忡黑梨12 小时前
eNSP_DHCP配置
c语言·网络·c++·python·算法·网络安全·智能路由器
m0_7414817812 小时前
Vue.js核心基础之响应式系统与虚拟DOM渲染关联机制
jvm·数据库·python