基于python批量调整图像大小

2023-05-16

前言

  在写论文的时候常常因为截图的尺寸大小不一样,导致图片排版很难受,在word中又不会批量修改,用下面的代码可以批量处理修改成一样的尺寸哦!

代码如下:

在本文中,我将向你展示如何使用Python和PIL库批量调整图像大小。这是一个非常实用的技巧,可以帮助你节省磁盘空间,或者为不同的用途准备不同尺寸的图像,例如网站、社交媒体、机器学习等。

首先,你需要安装PIL库,它是Python Imaging Library的缩写,是一个非常强大的图像处理库。你可以使用pip命令来安装它:

pip install pillow

然后,需要准备一个输入目录和一个输出目录,分别存放原始图像和调整后的图像。可以根据你的实际情况修改下面的代码中的路径:

input_dir = r'f_in'
output_dir = r'f_out'

接下来,需要定义一个函数,用来遍历输入目录中的所有图像文件,并使用PIL库中的Image类来打开、调整和保存它们。可以根据你的需求修改下面的代码中的尺寸size:

from PIL import Image
import os

def resize_images(input_dir, output_dir, size):
for img_name in os.listdir(input_dir):
if img_name.endswith('.png') or img_name.endswith('.jpg'):
with Image.open(os.path.join(input_dir, img_name)) as img:
img = img.resize(size)
img.save(os.path.join(output_dir, img_name))

size = (140, 160)

最后,只需要调用这个函数,传入输入目录、输出目录和尺寸参数,就可以开始批量调整图像大小了:

resize_images(input_dir, output_dir, size)

这样,就可以在输出目录中看到调整后的图像了。完整的代码如下:

from PIL import Image
import os

def resize_images(input_dir, output_dir, size):
    for img_name in os.listdir(input_dir):
        if img_name.endswith('.png') or img_name.endswith('.jpg'):
            with Image.open(os.path.join(input_dir, img_name)) as img:
                img = img.resize(size)
                img.save(os.path.join(output_dir, img_name))

input_dir = r'f_in'
output_dir = r'f_out'
size = (140, 160) #这里修改你想要的尺寸

resize_images(input_dir, output_dir, size)

在这里插入图片描述

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

基于python批量调整图像大小 的相关文章

随机推荐

  • 如何提升串口响应速度

    最近负责编写公司的工厂模式指令集 xff0c 碰到了一些代码之外的问题 xff0c 困扰了我很久 因为综测那边对串口响应速度的要求很高 xff0c 要求从上位机下发指令开始到上位机接收到完整回复 xff0c 整个过程的响应速度要达到几十个m
  • rv1126 SDK简单编译

    rv1126 SDK简单编译 在工程的根目录下执行命令 source envsetup sh 会出现很多选项 xff0c 选择 rockchip rv1126 rv1109 spi nand 这个选项 xff0c 输入93 我的FLASH是
  • socket套接字编程之UDP协议封装

    1 UDP 协议特点 xff1a 传输层协议 无连接 不可靠传输 面向数据报 2 封装之前先将清楚几个要点 xff1a 2 1网络字节序 xff1a 注意设备的大小端 发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出 接收主机把
  • C语言 使用调用函数的方法,将两个字符串连接起来

    因本人才疏学浅 xff0c 见识浅薄 xff0c 有不当之处望指正 xff0c 谢谢 xff01 这次用调用函数的方法 xff0c 连接两个字符串 在被调函数中可以说明形参数组的大小 xff0c 也可以不说明形参数组的大小 例如cat st
  • STL容器特点对比

    1 分类 序列式容器 xff08 sequential container xff09 vector list array deque forward list关联式容器 xff08 associative container xff09
  • 【RT-Thread】PIN 设备源码分析

    目录 1 获取引脚编号2 设置引脚模式3 设置引脚电平4 绑定 PIN 中断回调函数5 使能引脚中断6 总结7 PIN 设备使用示例 关于 RT Thread 的 PIN 设备驱动应用层面的介绍可以直接参考 RT Thread 的官网 xf
  • 基于VSCode的Linux内核调试环境搭建

    1 安装开发工具 span class token function sudo span span class token function apt span span class token function install span b
  • STM32定时器周期任务函数编写

    在STM32中我们对定时器的周期任务有一定的需求 xff0c 但在使用过程中 xff0c 需要将一些任务写到中断中 xff0c 中断函数会看上去比较复杂 xff0c 并且会有好多标志位 以流水灯为例 xff0c 周期为1s 介绍一下我自己的
  • stm32寄存器封装

    文章目录 前言 一 版本一 二 版本二 三 版本三 前言 本文记录的是用stm32开发的时候 一些底层的寄存器封装 固件库是如何帮我们完成这些工作的 一 版本一 代码如下 示例 span class token comment 外设基地址
  • 使用TI的MSP430实现一个单片机与上位机的数传系统。(西安电子科技大学综合应用开发实验)

    题目要求 xff1a 目标 xff1a 智能控制系统 利用单片机 xff08 开发平台任选 xff09 设计并编程实现一个单片机与上位机的数传系统 要求 xff1a 对单片机和PC 手机 单片机之间的通信进行设计 如果大作业没有设计通信部分
  • NVIDIA Jetson Xavier NX 控制GPIO

    NVIDIA Jetson Xavier NX 控制GPIO 文章目录 NVIDIA Jetson Xavier NX 控制GPIO前言一 简介二 代码实例1 gpio h2 gpio cpp 三 拓展 前言 在linux系统中以文件io的
  • NVIDIA Jetson Xavier NX禁用上电自启,使用按键开关机

    NVIDIA Jetson Xavier NX禁用上电自启 xff0c 使用按键开关机 文章目录 NVIDIA Jetson Xavier NX禁用上电自启 xff0c 使用按键开关机前言一 原理二 拓展 前言 NX默认上电自启 xff0c
  • Linux系统设置共享文件夹

    Linux系统设置共享文件夹 文章目录 Linux系统设置共享文件夹一 设置原理二 设置步骤1 安装samba2 创建 设置共享文件夹 三 测试 一 设置原理 基于Ubuntu16 04 xff0c 采用在线安装samba库的方式设置共享文
  • Linux:复位USB设备

    Linux xff1a 复位USB设备 文章目录 Linux xff1a 复位USB设备前言一 基本原理二 代码实例总结 前言 在Ubuntu16 04下开发SDR设备数据处理程序时 xff0c msi sdr设备有时运行几个小时后就会出现
  • Ubuntu Terminal终端默认常用快捷键总结

    Ubuntu Terminal终端默认常用快捷键总结 Ubuntu Terminal终端快捷键默认设置如下 xff0c 不同的发行版本可能有所出入 xff0c 以下快捷键在Ubuntu18 04LTS下可用 1 文件 快捷键说 明Ctrl
  • 基于c++ boost库实现进程管理

    基于c 43 43 boost库实现进程管理 1 前言 基于c 43 43 boost库与Terminator终端 xff0c 实现启动进程 进程运行状态监听 自动重启进程 杀死进程 设置进程环境变量等基础功能 2 原理 启动 杀死进程基于
  • 【RT-Thread】UART 设备源码分析

    官网介绍 I O 设备模型框架如下图 xff1a 但看到官网写道 设备驱动层是一组驱使硬件设备工作的程序 xff0c 实现访问硬件设备的功能 它负责创建和注册 I O 设备 xff0c 对于操作逻辑简单的设备 xff0c 可以不经过设备驱动
  • 基于c++ boost实现阻塞式ping指定IP

    基于c 43 43 boost实现阻塞式ping指定IP 1 前言 在实际业务场景中 xff0c 可能需要阻塞式检测目标IP连通性 xff0c 本程序基于c 43 43 boost库实现了一个简易的阻塞式ping指定IP例子 2 原理 在循
  • ROS_PACKAGE_PATH相关问题

    在ROS进行跨文件调用功能包时遇到报错 Resource not found The following package was not found span class token keyword in span span class t
  • 基于python批量调整图像大小

    前言 在写论文的时候常常因为截图的尺寸大小不一样 xff0c 导致图片排版很难受 xff0c 在word中又不会批量修改 xff0c 用下面的代码可以批量处理修改成一样的尺寸哦 xff01 代码如下 xff1a 在本文中 xff0c 我将向