如何通过python裁剪一个文件夹中的所有图片并保存到另一个文件夹

2023-12-20

我有一个照片文件夹,想要裁剪它的 2 个角,然后将 1 个角度旋转 180 度以获得 2 个相似的裁剪图像。我在图像旋转和保存方面遇到问题。这是我到目前为止得到的代码

from PIL import Image
import os.path, sys

path = r"D:\Machine_Learning\img"
dirs = os.listdir(path)

def crop():
    for item in dirs:
        fullpath = os.path.join(path,item)         #corrected
        if os.path.isfile(fullpath):
            im = Image.open(fullpath)
            f, e = os.path.splitext(fullpath)
            save_dir = r'D:\Machine_Learning\img\crop'
            imCropTop = im.crop((2125, 70, 2148, 310)) #corrected
            imCropTop.save(f+'TOP_Cropped.bmp', "BMP", quality=100)
            imCropBot = im.crop((2125, 684, 2148, 924))  # corrected
            imCropBot.save(f + 'BOT_Cropped.bmp', "BMP", quality=100)

crop()

这对我有用。我更改了一些变量名称以适应pep 8 https://pep8.org。清晰的变量名称有助于避免混淆(尤其是避免使用单字符名称 - 我最讨厌的)

当然,您必须使用自己的目录名称。

from PIL import Image
import os.path

SOURCE_DIRECTORY = "../scratch/load_images/my_images"
TARGET_DIRECTORY = "../scratch/load_images/my_cropped_images/"
directory_list = os.listdir(SOURCE_DIRECTORY)

def crop():
    for source_file in directory_list:
        source_path = os.path.join(SOURCE_DIRECTORY, source_file) 
        if os.path.isfile(source_path):
            raw_image = Image.open(source_path)
            file_name = os.path.basename(source_path)
            file_name, extension = os.path.splitext(file_name)

            image_cropped_top = raw_image.crop((2125, 70, 2148, 310))
            image_cropped_top.save(TARGET_DIRECTORY + file_name+'TOP_Cropped.bmp', "BMP", quality=100)

if __name__ == '__main__':
    crop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过python裁剪一个文件夹中的所有图片并保存到另一个文件夹 的相关文章

  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 类型错误:只能使用标量值执行操作

    如果您能让我知道如何为所提供的表格绘制一些信息丰富的图表 我将不胜感激here https www iasplus com en resources ifrs topics use of ifrs 例如 我需要一个名为 国内非上市公司 非上
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像

随机推荐

  • 如何从命令行以 ssh 模式调用 vscode

    使用vscode的ssh扩展我可以打开remotedir in remotehost通过用户界面 与您如何调用类似code localdir在命令行中 是否可以执行类似的操作code remotedir host remotehost 如果
  • 在一条语句中从序列中查询多个 NEXTVAL

    基本上 我需要从序列中查询大约一千个 NEXTVAL 我可以循环查询它们 也可以通过与一个非常大的表的连接来查询它们 有没有更不那么hacky的方法 Upd 基本上 我有一个对象操作的时间表 每个对象都有一个生成的 UUID 或来自数据库的
  • 查找矩阵中最接近的值 matlab

    如何在matlab中找到矩阵中最接近的元素 假设我有一个大小为300x200我想找到矩阵中最接近给定元素的元素的值和索引 有谁知道如何在matlab中做到这一点 我知道如何对给定的数组执行此操作 但我无法弄清楚如何对矩阵执行此操作 Let
  • Java OpenCV 中的 createFisherFaceRecognizer

    我正在尝试使用官方 OpenCV Java 绑定 不是 JavaCV 来实现人脸识别器 但是我似乎找不到与 createFisherFaceRecognizer 方法等效的方法 从我的快速研究来看 它似乎还没有在 Java 中实现 如果是这
  • 垂直对齐 XY 网格单元内的内容

    使用 ZURB Foundation XY Grid 我想将单元格的内容垂直居中 同时仍然能够让单元格填充网格的总高度 每个单元格都有自己的背景图像 这不允许使用父网格上的类 align middle 因为单元格高度随后会折叠 我希望能够通
  • 从布局中根据屏幕设置imageview的高度

    我正在制作布局并使用layout weight 和weight sum 我将线性布局的方向设置为水平 这样我就可以将 imageview 的宽度设置为屏幕的 1 3 但我不知道如何将imageview的高度设置为屏幕的1 3 请帮我从布局
  • tomcat 7重启后恢复用户登录

    tomcat 会话的默认行为是在关闭时保留它们并在启动后恢复它们 这按预期适用于我的简单测试应用程序 但是 当我添加基于表单的身份验证时 用户登录 用户主体 将不会在 tomcat 重新启动时恢复 即使位于 examples jsp sec
  • 在 Python 中将数组元素与标量进行比较并获取最大值

    我想将数组的元素与标量进行比较 并获取具有比较值最大值的数组 这就是我想打电话的 import numpy as np np max 1 2 3 4 3 并想要得到 array 3 3 3 4 但我得到 ValueError axis en
  • 从自定义基本适配器单击按钮时启动对话框片段> getView [IMG INCLUDED]

    好吧 我有一个列表 也是一个片段对话框 显示用户朋友 该列表中的每个项目都有一个按钮 在图片中标记为朋友 当用户单击该按钮时 ID 会显示另一个片段对话框 该对话框显示与该用户交互的所有选项 好友请求 阻止 发送私人消息等 问题是该按钮及其
  • 删除所有 DataGrid 行和单元格边框

    我想隐藏 或删除 数据网格中所有行 以及随后的单元格 的所有边框 考虑一个基本的HTML表格 http jsfiddle net QSqMt 我已经查看了所有内容 大多数问题似乎都是关于设计它们而不是隐藏它们 我已经尝试像这样设置 Bord
  • 从 Excel 运行访问查询并将参数传递给查询

    如何从 Excel VBA 代码或宏在 MS Access 数据库中执行查询 MS Access 查询接受一些需要从 Excel 传递的参数 谢谢 这是一种可能性 Dim cn As Object Dim strFile As String
  • iOS 8 UITableView 第一行高度错误

    我正在开发一个应用程序 但遇到了一个奇怪的问题 我在故事板中创建了一个 UITableViewController 并添加了一个原型单元 在这个单元格中 我添加了一个 UILabel 元素 并且这个 UILabel 占据了整个单元格 我已经
  • Imagemagick PHP 中特定的 webp 调用

    我能够安装 imagemagick 的 webp 支持 但我缺少一些精确的命令 基本内容包括 im new Imagick im gt pingImage src im gt readImage src im gt resizeImage
  • Angular:阻止 DomSanizer 更新 DOM 事件

    我面临一个问题DomSanitizer 我创建了一个堆栈闪电战 https stackblitz com edit angular kjcxtd复制这个问题 每次单击按钮时 iframe A 都会重新加载 该按钮绝对不执行任何操作 因此它与
  • 使用法语键盘布局(无小键盘)在 Mac 上的 Jupyter Ipython 笔记本中注释掉多行的快捷方式?

    我正在尝试选择并评论 在具有法语键盘布局且无小键盘的 Mac 上使用 Jupyter Notebook 实现多行 要键入斜杠 在此键盘上 快捷键是Shift 当尝试在 Jupyter 上评论行时 with Ctrl Shift 它不起作用
  • 按第一列对二维数组(列名不一致)进行排序

    如何按每行中的第一个值对数组或行进行排序 array item1 gt 80 item2 gt 25 item3 gt 85 期望的输出 item2 gt 25 item1 gt 80 item3 gt 85 你需要使用usort http
  • 如何在 Laravel 项目中为 VueJS 3 设置compilerOptions.isCustomElement

    我正在 Laravel 项目中开发 VueJS 3 并且正在使用一个 JS 文件 该文件为我提供了用于 Markdown 工具栏的元素 基本上 它是一组函数 为我提供了应用所选降价选项的按钮 一切工作正常 但我收到了那些我希望它们消失的控制
  • 从 UIImagePickerController 获取图像

    我想从以下位置获取图像imagepickercontroller 但是我的代码没有任何效果 这是代码 void imagePickerController UIImagePickerController picker didFinishPi
  • 该帐户的队列中不能有超过 0 个构建

    我是 AWS 的新手 我正在尝试使用我的免费套餐帐户使用 AWS CodeBuild 构建我的 nodeJS 项目 但收到此错误 构建无法启动 构建无法启动 发生以下错误 该帐户的队列中不能有超过 0 个构建 我遵循简单的 aws 教程 保
  • 如何通过python裁剪一个文件夹中的所有图片并保存到另一个文件夹

    我有一个照片文件夹 想要裁剪它的 2 个角 然后将 1 个角度旋转 180 度以获得 2 个相似的裁剪图像 我在图像旋转和保存方面遇到问题 这是我到目前为止得到的代码 from PIL import Image import os path