使用Python批量改变图像尺寸

本文将介绍如何使用Python编程语言批量改变图像的尺寸。通过本文的学习,你将了解到如何使用Python的图像处理库对多个图像进行自动化的尺寸修改操作。

一、安装必要的库

在开始编写代码之前,我们需要安装几个 Python 图像处理库:


pip install python-opencv
pip install Pillow

以上两个库分别是 OpenCV 和 Pillow。OpenCV 是一个广泛应用于计算机视觉任务的库,而 Pillow 是一个处理图像的 Python 库。

二、读取并修改图像尺寸

首先,我们需要导入所需的库:


import os
import cv2
from PIL import Image

然后,我们可以使用以下代码读取并调整单个图像的尺寸:


def resize_image(image_path, new_size):
    image = cv2.imread(image_path)
    image = cv2.resize(image, new_size)
    return image

上述代码中,resize_image 函数接受两个参数:image_path 表示图像的文件路径,new_size 表示新的尺寸。函数首先使用 cv2.imread 函数读取图像,然后使用 cv2.resize 函数调整图像尺寸,并返回修改后的图像。

三、批量修改图像尺寸

接下来,我们将编写一个函数来批量修改图像尺寸:


def batch_resize_images(input_dir, output_dir, new_size):
    for file_name in os.listdir(input_dir):
        if file_name.endswith('.jpg') or file_name.endswith('.png'):
            image_path = os.path.join(input_dir, file_name)
            output_path = os.path.join(output_dir, file_name)
            resized_image = resize_image(image_path, new_size)
            cv2.imwrite(output_path, resized_image)

上述代码中,batch_resize_images 函数接受三个参数:input_dir 表示输入图像所在的文件夹路径,output_dir 表示输出图像的文件夹路径,new_size 表示新的尺寸。函数首先使用 os.listdir 函数获取输入文件夹下的所有文件名,然后遍历每个文件名,判断其是否以 ‘.jpg’ 或 ‘.png’ 结尾。如果是图像文件,则构建输入图像路径和输出图像路径,并调用 resize_image 函数进行图像尺寸修改,并使用 cv2.imwrite 函数将修改后的图像保存到输出路径。

四、运行批量修改图像尺寸的代码

最后,我们可以调用上述函数来运行批量修改图像尺寸的代码:


input_dir = 'input_images'
output_dir = 'output_images'
new_size = (500, 500)

batch_resize_images(input_dir, output_dir, new_size)

上述代码中,我们将输入图像所在的文件夹路径设置为 ‘input_images’,输出图像的文件夹路径设置为 ‘output_images’,新的尺寸设置为 (500, 500)。调用 batch_resize_images 函数后,程序将读取输入文件夹中的所有图像,并修改它们的尺寸为指定的大小,并将修改后的图像保存到输出文件夹中。

五、总结

通过本文的学习,我们学会了使用 Python 编程语言批量修改图像尺寸的方法。我们了解到如何安装必要的库,并编写了相应的代码来读取和修改图像尺寸。最后,我们调用批量修改图像尺寸的函数,并成功完成了图像尺寸的自动化修改。

希望本文能够对你有所帮助,谢谢阅读!

原创文章,作者:EIDH,如若转载,请注明出处:https://www.beidandianzhu.com/g/2958.html

(0)
EIDH的头像EIDH
上一篇 2024-12-22
下一篇 2024-12-22

相关推荐

  • Python编写NJIE幻方的实现

    NJIE幻方是一种特殊的数学方阵,它具有以下特点:每行、每列以及对角线的和都相等。在这篇文章中,我们将使用Python来编写一个生成NJIE幻方的程序。 一、NJIE幻方基本概念 …

    程序猿 2025-01-01
  • Python3安装xlwt

    xlwt是一个用于将数据写入Excel文件的Python库。本文将详细介绍如何在Python3中安装和使用xlwt库。 一、安装xlwt库 1. 检查Python版本 import…

    程序猿 2024-12-17
  • Python核心教程免费

    Python是一门简单易学、功能强大的编程语言,广泛应用于数据分析、人工智能等领域。本文将从多个方面介绍Python核心教程免费的优势和实用价值。 一、简单易学 1. Python…

    程序猿 2024-12-17
  • Python将图像分成两张

    在本文中,我们将介绍如何使用Python将图像分成两张,并提供相应的代码示例。 一、图像分割的原理 图像分割是指将一个图像分成多个子区域,每个子区域能够代表原始图像中的一个物体或者…

    程序猿 2024-12-26
  • 菜鸟Python工具

    菜鸟Python工具是一款功能强大且易于使用的Python开发工具。本文将从多个方面对菜鸟Python工具进行详细的阐述。 一、安装和配置 1、安装Python:首先,你需要从Py…

    程序猿 2024-12-27
  • Python降序for循环

    Python中的for循环是一种常用的循环结构,它可用于遍历序列(例如列表、元组、字符串等)或其他可迭代对象。在某些情况下,我们可能需要按照降序进行循环遍历。本文将从多个方面对Py…

    程序猿 2024-12-24
  • Python中文字转语音

    Python中文字转语音是指使用Python编程语言实现将文字转换为语音的技术。通过使用Python中的特定库和API,我们可以将文字转换为可听的语音,这为许多应用场景提供了便利,…

    程序猿 2025-02-01
  • Python语法基础拾遗

    本文将从多个方面对Python语法基础进行详细的阐述,包括变量、数据类型、条件语句、循环语句、函数等内容,帮助读者巩固和拓展对Python语法的理解。 一、变量 在Python中,…

    程序猿 2025-01-04
  • Python不识别全局变量

    对于Python开发者来说,全局变量是一个非常重要的概念。然而,Python在处理全局变量时会出现一些令人困惑的情况。本文将从多个方面对Python不识别全局变量的问题进行详细阐述…

    程序猿 2024-12-22
  • Python输出a加b的实现

    在Python开发中,我们经常需要将两个数字进行相加并输出结果。本文将以Python输出a加b为中心,从多个方面对其进行详细阐述。 一、基本概念 在Python中,我们使用加号 (…

    程序猿 2024-12-25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部