本文目录导读:

- 专业级桌面软件:Adobe Photoshop + 动作(Action)
- 免费且轻量级:IrfanView + 插件
- 在线工具:Fotor 或 类似批量编辑器(有局限)
- 程序员/自动化方案:Python + Pillow
- 总结推荐
市面上绝大多数“批量模糊工具”默认只做高斯模糊,动态模糊需要特定方向或路径的模糊算法,支持批量处理的工具相对较少。
专业级桌面软件:Adobe Photoshop + 动作(Action)
这是最可靠、效果最可控的方案。
- 原理:利用Photoshop的“动作”功能录制一次动态模糊操作,然后对整个文件夹进行批处理。
- 操作步骤:
- 打开一张图片,打开“动作”面板。
- 点击“新建动作”,命名为“动态模糊”。
- 菜单栏:
滤镜->模糊画廊->路径模糊或旋转模糊(最新版PS,效果最好)或者滤镜->模糊->动感模糊(经典效果)。- 动感模糊:设置角度和距离。
- 路径模糊:可以自定义弧线轨迹,效果更炫酷。
- 点击“停止录制”。
文件->自动->批处理:选择源文件夹,目标文件夹,动作选择刚才录制的“动态模糊”。
- 优点:效果顶级,支持复杂轨迹模糊。
- 缺点:需要正版Photoshop(或破解版),操作复杂。
免费且轻量级:IrfanView + 插件
一款极速的看图软件,支持批量处理,且自带动态模糊滤镜。
- 条件:需要下载并安装
IrfanView本体以及插件包。 - 操作步骤:
- 打开IrfanView,点击
文件->批处理/重命名批量转换。 - 添加所有图片,点击
选项->设置高级选项。 - 在弹出的对话框中,找到
滤镜->动态模糊(Motion Blur)。 - 调整角度和强度(Strength)。
角度0°是上下;90°是左右。
- 设置输出格式和质量,点击“开始批处理”。
- 打开IrfanView,点击
- 优点:完全免费,体积小(2MB左右),速度极快。
- 缺点:只有标准的线性动感模糊(直线),没有路径模糊(曲线)。
在线工具:Fotor 或 类似批量编辑器(有局限)
在线工具对批量操作支持普遍较差,但有一个方法:
- 替代方案:使用
Zamzar或Aconvert等文件转换器,但它们不具备滤镜功能。 - 推荐思路:先在线单张处理(如
PhotoMosh或Pinetools的 Motion Blur),再使用IrfanView的批量复制功能(但这需要重命名,效率不高)。 - 注意:几乎所有在线批量工具只支持高斯模糊,如果你需要动态模糊,建议下载桌面软件。
程序员/自动化方案:Python + Pillow
如果你能运行脚本,Python的Pillow库可以实现极简便的动态模糊。
-
代码示例(批量处理文件夹内所有图片):
from PIL import Image, ImageFilter import os input_folder = "input" # 输入文件夹 output_folder = "output" # 输出文件夹 os.makedirs(output_folder, exist_ok=True) for filename in os.listdir(input_folder): if filename.lower().endswith(('.png', '.jpg', '.jpeg')): img = Image.open(os.path.join(input_folder, filename)) # 参数 (半径, 角度, 大小) # 角度:0为水平,90为垂直 blurred = img.filter(ImageFilter.GaussianBlur(radius=10)) # 注意:Pillow内置没有动态模糊!需要自定义核。 # 更专业的方法:使用 OpenCV # blurred = cv2.GaussianBlur(img, (0, 0), 10) # 这是高斯 # blurred = cv2.filter2D(img, -1, kernel) # 自定义运动模糊核 blurred.save(os.path.join(output_folder, filename))重要提示:Pillow原生
ImageFilter没有MotionBlur,只有GaussianBlur,要实现动态模糊,你需要:-
使用
OpenCV(pip install opencv-python),导入cv2。 -
创建一个运动模糊核(如5x5的矩阵),然后使用
cv2.filter2D()。 -
参考代码(OpenCV动态模糊):
import cv2 import numpy as np import os def motion_blur(image, degree=15, angle=45): # 生成运动模糊核 M = cv2.getRotationMatrix2D((degree/2, degree/2), angle, 1) kernel = np.zeros((degree, degree), dtype=np.float32) kernel[int((degree-1)/2), :] = np.ones(degree) kernel = cv2.warpAffine(kernel, M, (degree, degree)) kernel = kernel / degree blurred = cv2.filter2D(image, -1, kernel) return blurred input_folder = "input/" output_folder = "output/" for f in os.listdir(input_folder): img = cv2.imread(os.path.join(input_folder, f)) result = motion_blur(img, degree=15, angle=90) # 垂直动态模糊 cv2.imwrite(os.path.join(output_folder, f), result)
-
总结推荐
| 需求场景 | 推荐工具 | 优点 | 缺点 |
|---|---|---|---|
| 追求最高质量 | Adobe Photoshop + 动作 | 效果极佳,支持路径模糊 | 收费,操作复杂 |
| 免费且快速 | IrfanView + 插件 | 免费,极速,批量简单 | 只有简单的线性模糊 |
| 能写代码 | Python + OpenCV | 完全免费,可自定义任何角度/长度,自动化 | 需编程基础 |
提示:如果只是偶尔用一次,建议直接下载 IrfanView(官网 irfanview.com,免费软件),安装时勾选安装插件,然后按照上述步骤操作即可,这是最省时且功能足够的选择。
标签: 批量处理
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。