批量图片翻转、裁剪
【Python】Windows环境-Python批量图片翻转、裁剪
Windows VsCode搭建Python环境注意事项
-
python 不要安装在含有中文的路径里
-
修改pip源(PowerShell里)
a. 更新pip
>python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
b. 设置pip源(清华大学)
>pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
-
vscode设置python额外库路径(避免出现pylance can not import的情况)
{ "python.analysis.extraPaths":"D:\\Python\\Lib\\site-packages", }
批量翻转图片
from PIL import Image
import os
def batch_flip_images(image_dir, output_dir):
"""
批量翻转指定目录下的所有图像文件(不包含子目录),
并将翻转后的图像保存到输出目录。
img.transpose(Image.FLIP_LEFT_RIGHT) 水平翻转
img.transpose(Image.FLIP_TOP_BOTTOM) 垂直翻转
"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for filename in os.listdir(image_dir):
if filename.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tif', '.tiff')):
img_path = os.path.join(image_dir, filename)
img = Image.open(img_path)
img = img.transpose(Image.FLIP_LEFT_RIGHT) # 水平翻转
img.save(os.path.join(output_dir, filename))
# 使用示例
image_dir = 'PATH\\image-dir\\' # 输入图像文件夹路径
output_dir = 'PATH\\target-dir\\' # 输出图像文件夹路径
batch_flip_images(image_dir, output_dir)
批量裁剪图片
from PIL import Image
import os
def crop_images_in_folder(image_dir, output_dir, crop_box):
"""
裁剪指定文件夹内的所有图像
:param image_dir: 输入文件夹路径
:param output_dir: 输出文件夹路径
:param crop_box: 裁剪区域的起始坐标(x, y)和终点坐标(ex, ey)
"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for filename in os.listdir(image_dir):
if filename.endswith(('.png','.jpg', '.jpeg', '.bmp', '.tif', '.tiff')):
img_path = os.path.join(image_dir, filename)
img = Image.open(img_path)
cropped_img = img.crop(crop_box)
##带透明度的图片使用这一句
##cropped_img_path = os.path.join(output_dir, filename)
##不带透明度的图片使用这一句
cropped_img_path = os.path.join(output_dir, filename+'.png')
cropped_img.save(cropped_img_path)
# 使用示例
image_dir = 'PATH\\image-dir\\' # 输入图像文件夹路径
output_dir = 'PATH\\target-dir\\' # 输出图像文件夹路径
crop_box = (100, 200, 300, 400) # 从图像的(99, 199)裁剪至(299, 399)
crop_images_in_folder(image_dir, output_dir, crop_box)
在VsCode里面直接调试运行Python程序就可以了。
用途:批量打印电子发票的时候,用PRT-SC截图,然后批量裁剪,再用ppt打印。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)