本文目录导读:

使用 Python + Pillow 库(最灵活,推荐)
这是最通用的方法,适用于Windows、macOS和Linux,Pillow是Python最强大的图像处理库。
安装依赖 确保安装了Python和Pillow库:
pip install Pillow
Python 脚本:批量翻转图片
创建一个名为 batch_flip.py 的文件,复制以下代码:
import os
from PIL import Image
# 配置区
input_folder = "./input_images" # 源图片文件夹
output_folder = "./output_images" # 输出图片文件夹
flip_mode = "horizontal" # 翻转模式: "horizontal" 水平, "vertical" 垂直, "both" 两者都做
supported_formats = ('.jpg', '.jpeg', '.png', '.bmp', '.tiff', '.webp') # 支持的格式
def flip_images():
# 创建输出文件夹
if not os.path.exists(output_folder):
os.makedirs(output_folder)
print(f"已创建输出文件夹: {output_folder}")
# 遍历输入文件夹
image_count = 0
for filename in os.listdir(input_folder):
if filename.lower().endswith(supported_formats):
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
try:
img = Image.open(input_path)
# 根据模式翻转
if flip_mode == "horizontal":
flipped_img = img.transpose(Image.FLIP_LEFT_RIGHT)
elif flip_mode == "vertical":
flipped_img = img.transpose(Image.FLIP_TOP_BOTTOM)
elif flip_mode == "both":
flipped_img = img.transpose(Image.FLIP_LEFT_RIGHT)
flipped_img = flipped_img.transpose(Image.FLIP_TOP_BOTTOM)
else:
print(f"错误:不支持的翻转模式 '{flip_mode}'")
return
# 保存翻转后的图片(保持原格式和质量)
flipped_img.save(output_path, quality=95)
print(f"已翻转: {filename}")
image_count += 1
except Exception as e:
print(f"处理 {filename} 时出错: {e}")
print(f"\n完成!总共处理了 {image_count} 张图片。")
print(f"翻转模式: {flip_mode},输出文件夹: {output_folder}")
if __name__ == "__main__":
# 检查输入文件夹是否存在
if not os.path.exists(input_folder):
print(f"错误:输入文件夹 '{input_folder}' 不存在!")
print("请创建该文件夹或修改脚本中的 input_folder 路径。")
else:
flip_images()
使用说明
- 在脚本同目录下创建
input_images文件夹,放入需要翻转的图片。 - 运行脚本:
python batch_flip.py - 翻转后的图片会出现在
output_images文件夹中。 - 自定义:修改脚本顶部
flip_mode为"vertical"可垂直翻转,"both"可同时水平+垂直翻转。
使用 ImageMagick(命令行高手首选)
ImageMagick 是强大的命令行图像处理工具,非常适合批量操作。
安装 ImageMagick
- Windows: 下载安装程序,安装时勾选“Add application directory to PATH”
- macOS:
brew install imagemagick - Linux:
sudo apt-get install imagemagick
批量翻转命令
水平翻转(镜像):
# Windows (CMD) for %i in (*.jpg) do magick "%i" -flop "flipped_%i" # macOS / Linux for i in *.jpg; do magick "$i" -flop "flipped_$i"; done
垂直翻转:
# Windows for %i in (*.jpg) do magick "%i" -flip "flipped_%i" # macOS / Linux for i in *.jpg; do magick "$i" -flip "flipped_$i"; done
旋转90度、180度、270度:
# 顺时针旋转90度 for i in *.jpg; do magick "$i" -rotate 90 "rotated_$i"; done # 旋转180度 for i in *.jpg; do magick "$i" -rotate 180 "rotated_$i"; done
使用批量重命名工具(适合简单旋转,如手机照片)
很多照片因为手机方向传感器导致显示方向错误,但图片本身并没有被真正翻转,这种情况更适合用工具修复EXIF方向标。
推荐工具:
-
XnConvert (免费, 跨平台)
- 添加图片 → 操作 → 变换 → 翻转/旋转
- 输出标签页选择输出文件夹和格式
-
PhotoScape X (Windows)
- 选择“批量处理” → 添加图片
- 选择“旋转”功能
-
macOS 预览应用
- 选中所有图片 → 打开预览
- 菜单栏:工具 → 旋转(这个只能一次一张,不推荐大批量)
总结建议
| 场景 | 推荐方法 |
|---|---|
| 需要编程控制、集成到工作流 | Python + Pillow 脚本 |
| 日常少量批量操作 | XnConvert GUI工具 |
| 命令行高效处理 | ImageMagick |
| 手机照片方向错误(非真正翻转) | 先尝试用EXIF修复工具,如 exiftool |
如果需要处理几十万张图片,Python脚本可以添加多线程支持以提升速度。