首页 > 其他分享 >批量图片翻转、裁剪

批量图片翻转、裁剪

时间:2024-04-07 17:24:00浏览次数:22  
标签:批量 img image 裁剪 path output os dir 翻转

【Python】Windows环境-Python批量图片翻转、裁剪

Windows VsCode搭建Python环境注意事项

  1. python 不要安装在含有中文的路径里

  2. 修改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
    
  3. 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

相关文章

  • 多平台商品图片批量下载,素材应有尽有!
    在现在信息传播速度飞快的网络时代,电商平台上的商品图片更是林林总总。对于设计师和营销人员来说,想要获取这些精美的商品图片,以便用于广告、宣传册或其他创意作品,确实是一项不小的挑战。不过,要将这一切都将变得轻而易举,也不是不可以。“什么,你们不信?”小编来脾气了,现在就证明给......
  • SAP 零代码完成批量导入功能
    最近项目被流程给烦的不行不行的,现在只要动代码就要走流程,走预算,是不是甲方都这样,我在Miniso怎没这样的感觉.所以发现认识逼出来,没有这样条条框框也就不会想更好解决办法,今天介绍一种小白导数据的办法,不需要代码经验,只要点三个按钮就能导入数据。              ......
  • 2024-04-07 记录win10批量修改文件后缀的方法 ==》ren *.exe *.zip
    使用ren命令,注意是win10系统在需要修改后缀名的文件夹路径打开cmd,如: 比如我想把这些exe文件修改为zip后缀,现在路径打开cmd,然后输入命令:ren*.exe*.zip注意该命令会把当前文件夹内所有的.exe后缀批量改成.zip,如果是重要文件,请先备份,以防丢失。 以上没有报错表示成功,如......
  • 淘宝商家必备,去除平台水印,图片批量下载!
    在电商经营的海洋中,每一位商家都是一位辛勤的渔夫,每天都需要获取和更新商品图片。他们利用手中的鱼竿,一次次的把商品图片钓上来。其过程的漫长和苦恼,是难以言说的。那么有什么方法能够,让这个过程变得轻松愉快呢?答案是有的!下面就让小编来告诉小伙伴们吧!1、小编的方法需要一个......
  • B站、微博视频批量下载,轻松实现离线观看!
    在现代社会,信息的传播和获取变得尤为重要。特别是对于那些热衷于在视频平台学习新知识、探索未知领域的人来说,能够随时随地下载这些平台的视频内容,以便在没有网络的情况下也能继续学习,无疑是提高效率的一大助力。现在小编就为大家演示下如何获取吧!1、我们需要准备一个工具“......
  • 阿里巴巴中国站获得1688商品详情 API:如何通过API接口批量获取价格、标题、图片、库存
    在数字化时代,数据的重要性不言而喻。对于电商从业者来说,获取商品详情数据是提升业务效率和用户体验的关键。阿里巴巴中国站作为电商行业的巨头,提供了丰富的API接口,方便开发者们批量获取商品信息。本文将详细叙述如何通过阿里巴巴中国站的1688商品详情API接口批量获取价格、标题......
  • LC 226.翻转二叉树
    226.翻转二叉树给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输出:[2,3,1]示例3:输入:root=[]输出:[]提示:树中节点数目范围在[0,100]内......
  • FFmpeg音视频裁剪和合并命令
    FFmpeg音视频裁剪和合并命令命令简介裁剪音视频和合并音视频。合并命令ffmpeg-i[输入文件1]-i[输入文件2]...[滤镜参数][输出文件]输入文件指明输入你要合并的文件,可以有多个输入文件。滤镜参数可以为合并的文件添加滤镜,详细参数查看ffmpeg滤镜命令中的参数。输......
  • 在翻转课堂中,人工智能支持的个性化推荐对学习者学习参与、动机和结果的影响
    (EffectsofartificialIntelligence–Enabledpersonalized recommendationsonlearners’learningengagement,motivation,andoutcomesinaflippedclassroom)DOI10.1016/j.compedu.2022.104684一、摘要研究目的:翻转课堂的目的是通过促进学习动机和参与来改善学习......
  • 【Python&RS】基于GDAL遥感影像分幅裁剪(固定尺寸)
    ​    之前分享过一篇分幅裁剪的文章:【Python&RS】基于GDAL遥感影像分幅裁剪,只不过这篇文章当时编写的逻辑是自己输入需要裁剪多少行多少列,由于大家可能并没有直观地希望自己裁剪多少行列,所以非常局限。今天跟大家分享一下使用固定尺寸对遥感影像进行分幅裁剪,即每张裁剪......