使用Python进行图像批处理的方法示例

 更新时间:2024年09月11日 09:50:43   作者:杰哥在此  
在Python中进行图像批处理可以使用多种库,如 Pillow、OpenCV 和 imageio,这些库可以用来执行各种图像处理任务,如调整大小、裁剪、旋转、滤镜应用等,以下是使用这些库进行图像批处理的示例,需要的朋友可以参考下

前言

在Python中进行图像批处理可以使用多种库,如 PillowOpenCV 和 imageio。这些库可以用来执行各种图像处理任务,如调整大小、裁剪、旋转、滤镜应用等。以下是使用这些库进行图像批处理的示例。

使用 Pillow 进行图像批处理

Pillow 是一个功能强大的图像处理库。下面是如何使用 Pillow 进行图像批处理的基本示例:

  • 安装 Pillow
pip install pillow
  • 批处理图像
from PIL import Image
import os

def process_image(file_path, output_path):
    with Image.open(file_path) as img:
        # 示例处理:调整大小
        img = img.resize((800, 800))
        # 示例处理:应用滤镜
        img = img.convert('L')  # 转为灰度图
        img.save(output_path)

def batch_process_images(input_folder, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    for filename in os.listdir(input_folder):
        if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
            file_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename)
            process_image(file_path, output_path)

# 示例使用
batch_process_images('input_images', 'output_images')

使用 OpenCV 进行图像批处理

OpenCV 是一个功能强大的计算机视觉库,适用于更复杂的图像处理任务。下面是如何使用 OpenCV 进行图像批处理的示例:

  • 安装 OpenCV
pip install opencv-python
  • 批处理图像
import cv2
import os

def process_image(file_path, output_path):
    # 读取图像
    img = cv2.imread(file_path)
    # 示例处理:调整大小
    img = cv2.resize(img, (800, 800))
    # 示例处理:将图像转换为灰度
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    cv2.imwrite(output_path, img)

def batch_process_images(input_folder, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    for filename in os.listdir(input_folder):
        if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
            file_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename)
            process_image(file_path, output_path)

# 示例使用
batch_process_images('input_images', 'output_images')

使用 imageio 进行图像批处理

imageio 是另一个图像处理库,支持多种图像格式和文件类型。

  • 安装 imageio
pip install imageio
  • 批处理图像
import imageio
import os

def process_image(file_path, output_path):
    img = imageio.imread(file_path)
    # 示例处理:调整大小
    img_resized = imageio.imresize(img, (800, 800))
    # 示例处理:转换为灰度
    img_gray = imageio.rgb2gray(img_resized)
    imageio.imwrite(output_path, img_gray)

def batch_process_images(input_folder, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    for filename in os.listdir(input_folder):
        if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
            file_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename)
            process_image(file_path, output_path)

# 示例使用
batch_process_images('input_images', 'output_images')

总结

  • Pillow 适合基本的图像处理任务,如调整大小、裁剪、滤镜应用等。
  • OpenCV 适合更复杂的计算机视觉任务,如图像变换、特征检测等。
  • imageio 提供了简洁的接口,适用于读取和保存各种图像格式。

你可以根据具体的需求选择合适的库来进行图像批处理。以上示例展示了如何处理图像的基本任务,你可以在这些基础上扩展和自定义更多的图像处理功能。

以上就是使用Python进行图像批处理的方法示例的详细内容,更多关于Python图像批处理的资料请关注脚本之家其它相关文章!

相关文章

  • 举例讲解Python装饰器

    举例讲解Python装饰器

    这篇文章主要介绍了Python装饰器的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • 提升Python编程效率的列表操作方法示例

    提升Python编程效率的列表操作方法示例

    这篇文章主要为大家介绍了提升Python编程效率的列表操作方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 浅谈python 调用open()打开文件时路径出错的原因

    浅谈python 调用open()打开文件时路径出错的原因

    这篇文章主要介绍了浅谈python 调用open()打开文件时路径出错的原因,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python正则表达式re模块详解

    python正则表达式re模块详解

    re 模块包含对正则表达式的支持,因为曾经系统学习过正则表达式,所以基础内容略过,直接看 python 对于正则表达式的支持。
    2014-06-06
  • 对Pytorch神经网络初始化kaiming分布详解

    对Pytorch神经网络初始化kaiming分布详解

    今天小编就为大家分享一篇对Pytorch神经网络初始化kaiming分布详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python的logging.config模块操作步骤

    Python的logging.config模块操作步骤

    这篇文章主要介绍了Python的logging.config模块操作步骤,本文通过示例代码给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • TensorFlow人工智能学习数据合并分割统计示例详解

    TensorFlow人工智能学习数据合并分割统计示例详解

    这篇文章主要为大家介绍了TensorFlow人工智能学习数据合并分割及统计的示例详解有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • Python中条件语句、循环语句和pass语句的使用示例

    Python中条件语句、循环语句和pass语句的使用示例

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块,下面这篇文章主要给大家介绍了关于Python中条件语句、循环语句和pass语句使用的相关资料,需要的朋友可以参考下
    2022-06-06
  • 在Python中采集Prometheus数据的详细用法教程

    在Python中采集Prometheus数据的详细用法教程

    Prometheus是一个开源的监控和警报工具,专门用于记录和查询时间序列数据,它提供了一个强大的查询语言PromQL(Prometheus Query Language),允许用户根据不同的标签和指标选择特定的时间序列数据,本文将详细介绍如何在Python中采集Prometheus数据
    2024-07-07
  • Python面向对象编程之类的概念

    Python面向对象编程之类的概念

    这篇文章主要介绍了Python面向对象编程之类的概念,Python语言的中所有数据类型都是对象、函数是对象、模块是对象;所有类都是继承最基础的类object,面向对象编程又叫OOP,下文了解更多具体内容,需要的朋友可以参考一下
    2021-11-11

最新评论