【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打印。
标签:批量,img,image,裁剪,path,output,os,dir,翻转 From: https://www.cnblogs.com/qtaishang/p/18119472