基于python编写图片高斯模糊处理脚本

 更新时间:2026年03月25日 11:27:51   作者:pioneeryz  
gaussian_blur.py是一个基于 Python 的图片处理脚本,使用 Pillow 库对图片应用高斯模糊效果,支持自定义模糊强度,下面小编就和大家详细介绍一下具体的实现步骤吧

简介

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
done

PowerShell 批量处理

# 批量模糊当前目录下所有 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, .jpegquality=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图片高斯模糊处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python学习之字符串格式化

    Python学习之字符串格式化

    这篇文章主要介绍了Python实现字符串格式化输出的方法,结合具体实例形式总结分析了Python字符串格式化输出的各种常用操作技巧,需要的朋友可以参考下
    2021-10-10
  • 使用Python在Excel中实现自动查找并替换数据

    使用Python在Excel中实现自动查找并替换数据

    随着项目的进展,需要经常在Excel业务表格中查找及替换数据,已保证数据与实际项目进度一致,手动一个一个查找,然后替换,效率太低,还容易遗漏,现在我们来试试用Python自动完成查找及替换吧,需要的朋友可以参考下
    2023-12-12
  • Python使用ffmpeg实现mp4与m3u8相互转换

    Python使用ffmpeg实现mp4与m3u8相互转换

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,它提供了录制、转换以及流化音视频的完整解决方案,下面小编就和大家详细介绍一下吧
    2025-11-11
  • Python @property及getter setter原理详解

    Python @property及getter setter原理详解

    这篇文章主要介绍了Python @property及getter setter原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python实现螺旋矩阵的填充算法示例

    Python实现螺旋矩阵的填充算法示例

    这篇文章主要介绍了Python实现螺旋矩阵的填充算法,结合实例形式分析了Python实现螺旋矩阵的相关循环、遍历、判断、运算等操作技巧,需要的朋友可以参考下
    2017-12-12
  • Django中间件Middleware功能详解

    Django中间件Middleware功能详解

    Django中间件(Middleware)是Django框架中的一个功能,它允许开发者在处理请求和响应的过程中插入自定义代码,中间件能够在视图函数执行前后进行操作,本文给大家介绍Django中间件Middleware功能,感兴趣的朋友一起看看吧
    2024-10-10
  • Python开发之迭代器&生成器的实战案例分享

    Python开发之迭代器&生成器的实战案例分享

    在 Python 中,迭代器和生成器都是用来遍历数据集合的工具,可以按需逐个生成或返回数据,从而避免一次性加载整个数据集合所带来的性能问题和内存消耗问题。本文主要和大家分享几个贴近实际运维开发工作中的场景案例,希望对大家有所帮助
    2023-04-04
  • Python利用pydub进行音频处理的完整指南

    Python利用pydub进行音频处理的完整指南

    pydub是一个轻量级的音频处理库,安装方便,使用简单,本文主要为大家详细介绍了Python如何使用处理一个大体积音频文件,感兴趣的小伙伴可以了解下
    2025-09-09
  • 使用python实现将视频中的音频分离出来

    使用python实现将视频中的音频分离出来

    这篇文章主要介绍了使用python实现将视频中的音频分离出来,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python Tkinter Entry和Text的添加与使用详解

    Python Tkinter Entry和Text的添加与使用详解

    这篇文章主要介绍了Python Tkinter Entry和Text的添加与使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03

最新评论