使用Python批量旋转,镜像图片

这篇具有很好参考价值的文章主要介绍了使用Python批量旋转,镜像图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

当我们进行大量图像处理时,经常需要旋转或镜像图像。但一张张处理图片费神又费力,有什么好的办法可以帮助我们快速搞定这个问题呢?这时候我们可以写个简单的python程序来搞定它!~

在Python中,我们可以使用Pillow库(Python Imaging Library)进行图像处理。Pillow库提供了很多函数和类,使得图像旋转和镜像变得容易。

本文将会以一下三张图片为例,在每一部分将会简单介绍函数后附上批量处理图片的代码,零基础的小伙伴也可以轻松使用嗷~

python批量旋转图片角度,图像处理,python,图像处理,计算机视觉,深度学习,人工智能


〇、准备工作,PIL库安装

一、图像旋转

二、图片镜像


〇、准备工作,PIL库安装

可以通过以下命令在Python中安装Pillow库(它是Python Imaging Library的分支版本):

pip install Pillow

此外,还可以通过Anaconda或Miniconda等科学计算发行版进行安装。如果你使用Anaconda,可以使用以下命令来安装Pillow库:

conda install pillow

一、图像旋转

对于图像旋转,可以使用Pillow库中的rotate()函数,可以通过指定旋转角度来实现。具体来说,我们可以使用Image.rotate(angle)函数(其中angle为旋转角度,单位为度)。例如,我们想将图像旋转90度,可以这样做:

from PIL import Image

image = Image.open("path/to/image.jpg") # 读取图片,这里要注意图片的格式
rotated_image = image.rotate(90, expand=True) #确定旋转角度

在这个例子中,我们打开了一张图片,然后使用rotate()函数将其旋转了90度。我们可以使用show()函数来查看或是用.save(path)直接保存旋转后的图像:

rotated_image.show() #查看图片

rotated_image.save('rotated_image.jpg') #保存图片

当我们希望可以批量旋转一个文件夹里的图片90°180°270°时,我们可以这么做:

from PIL import Image
import os

# 设置输入和输出目录
input_dir = '/path/to/input/directory/'
output_dir = '/path/to/output/directory/'

# 循环输入目录中的所有JPEG图像
for filename in os.listdir(input_dir):
    #只可以处理jpg和jpeg后缀下的程序,如果你的图片是别的后缀,请直接更改点后的文件格式
    if filename.endswith('.jpg') or filename.endswith('.jpeg'):
        
        # 打开图像
        img = Image.open(os.path.join(input_dir, filename))

        # 旋转图像并保存 这里可以直接添加或删除以选取你需要的旋转角度
        for angle in [90, 180, 270]:
            rotated_img = img.rotate(angle, expand=True)
            rotated_img.save(os.path.join(output_dir, f'{angle}_{filename}'))

成品如下~!

python批量旋转图片角度,图像处理,python,图像处理,计算机视觉,深度学习,人工智能


二、图片镜像

对于图像镜像,可以使用Pillow库中的transpose()函数,可以通过指定翻转模式来实现。具体来说,我们可以使用Image.transpose(mode)函数,其中mode为翻转模式,可以为Image.FLIP_LEFT_RIGHT(水平翻转)或Image.FLIP_TOP_BOTTOM(垂直翻转)。例如,如果我们想将图像水平翻转,可以这样做:

from PIL import Image

image = Image.open("path/to/image.jpg")
mirrored_image = image.transpose(Image.FLIP_LEFT_RIGHT)

在这个例子中,我们打开了一张图像,然后使用transpose()函数将其水平翻转。我们可以使用show()或是用.save(path)函数来查看或保存翻转后的图像:

mirrored_image.show()
mirrored_image.save('mirrored_image.jpg')

当我们希望可以批量水平和垂直镜像一个文件夹里的图片时,我们可以这么做:

from PIL import Image
import os

# 设置输入和输出目录
input_dir = '/path/to/input/directory/'
output_dir = '/path/to/output/directory/'

# 循环输入目录中的所有JPEG图像, 这里如果你是别的类型格式图片,直接更改点后图片类型即可
for filename in os.listdir(input_dir):
    if filename.endswith('.jpg') or filename.endswith('.jpeg'):
        
        # 打开图像
        img = Image.open(os.path.join(input_dir, filename))

        # 水平镜像并保存
        mirrored_img = img.transpose(Image.FLIP_LEFT_RIGHT)
        mirrored_img.save(os.path.join(output_dir, f'horiz_{filename}'))

        # 垂直镜像并保存
        mirrored_img = img.transpose(Image.FLIP_TOP_BOTTOM)
        mirrored_img.save(os.path.join(output_dir, f'vert_{filename}'))

成品如下~!

python批量旋转图片角度,图像处理,python,图像处理,计算机视觉,深度学习,人工智能文章来源地址https://www.toymoban.com/news/detail-788752.html

到了这里,关于使用Python批量旋转,镜像图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Python实现图像旋转到指定角度

    Python实现图像旋转到指定角度 在日常的图像处理中,我们有时需要将一张图片旋转到指定的角度,从而达到预期的效果。本文将介绍如何使用Python实现图像的旋转,并给出代码实现。 首先,我们需要导入必要的库:OpenCV和NumPy。其中,OpenCV用来读取图片和进行图像处理,Nu

    2024年02月08日
    浏览(10)
  • 【FPGA图像处理】——DDR仲裁、多输入源拼接、旋转任意角度、突发长度修改、任意地址读取。

    【FPGA图像处理】——DDR仲裁、多输入源拼接、旋转任意角度、突发长度修改、任意地址读取。

    前言:做FPGA大赛期间遇到的问题,自己coding过程。 包含:hdmi、摄像头等多输入源的拼接;了解DDR以及多种DMA传输方式,修改底层突发长度以及存储位宽;单输入源任意角度旋转(无需降低帧率)。 写这篇文章的原因呢,是因为之前参加FPGA大赛的时候遇到很多问题找不到系

    2024年02月05日
    浏览(10)
  • Open CV 图像处理基础:(六)在Java中使用 Open CV进行图片翻转和图片旋转

    Open CV 图像处理基础:(六)在Java中使用 Open CV进行图片翻转和图片旋转

    在Java中使用OpenCV进行图片翻转和旋转是一种基本的图像处理技术,广泛应用于计算机视觉、图像编辑和人工智能领域。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了许多常见的图像处理和分析功能,旨在为实时的图像处理提供高效

    2024年02月01日
    浏览(36)
  • python图像处理(旋转)

    python图像处理(旋转)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         除了图像镜像之外,另外一个经常遇到的、差不多的功能就是图像旋转。旋转分成顺时针旋转和逆时针旋转两种情况。但是对于isp来说,一般旋转的角度都是提前设置好的,比如只支

    2024年02月12日
    浏览(9)
  • 使用Python批量拼接图片

    使用Python批量拼接图片

    当需要将多张图像拼接成一张更大的图像时,通常会用到图片拼接技术。这种技术在许多领域中都有广泛的应用,例如计算机视觉、图像处理、卫星图像、地理信息系统等等。在实际应用中,拼接图像可以用于创建全景图像、地图、海报、广告牌等等。 本文将使用以下四张图

    2023年04月15日
    浏览(6)
  • 使用Python批量转换彩色图片到灰度图片

    使用Python批量转换彩色图片到灰度图片

    当涉及到图像处理和计算机视觉时,有时需要将彩色图片转换为灰度图片,一张一张使用PS等工具转换十分复杂且没有必要。今天介绍的这种方法用到了Pillow库。使用Pillow库来打开,加载并转换彩色图像,并将图像储存在另一个文件夹里。具体步骤如下所示。 目录  〇、准备

    2024年02月05日
    浏览(14)
  • 使用python批量裁剪图片为目标大小

    使用python批量裁剪图片为目标大小

    当进行深度学习任务如进行训练时,图片的大小可能导致显存不足,一个方法是对图片直接进行resize,这个会导致图片细节不足;另一个是对图片进行裁剪,裁剪成小的尺寸以送入模型训练,这也有一个缺点,就是会丢失上下文信息。现在想使用python对图片批量裁剪,那么设

    2024年02月12日
    浏览(8)
  • Python matplotlib 画图 字体、字体大小、字体粗细、文字方向、斜体、旋转角度 全集

    Python matplotlib 画图 字体、字体大小、字体粗细、文字方向、斜体、旋转角度 全集

    Python matplotlib 画图 字体、字体大小、字体粗细、文字方向、斜体 统一设置 单独设置 设置字体 font 设置坐标轴 axes 字体大小 labelsize 设置标签 tick 字体大小 labelsize 设置坐标轴 axes 字体粗细 labelweight 设置标签 tick 字体粗细 labelweight 可选粗细有 [\\\'light\\\',\\\'normal\\\',\\\'medium\\\',\\\'semibold\\\',\\\'b

    2024年02月12日
    浏览(39)
  • C# PaddleInference 图片旋转角度检测

    C# PaddleInference 图片旋转角度检测

    目录 效果 项目 代码 下载    VS2022+.net4.8+ OpenCvSharp4+Sdcb.PaddleInference using OpenCvSharp; using Sdcb.PaddleInference; using Sdcb.PaddleInference.Native; using System; using System.Drawing; using System.Globalization; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; namespace PaddleInfe

    2024年02月13日
    浏览(18)
  • C# RotationDetector 图片旋转角度检测

    C# RotationDetector 图片旋转角度检测

    目录 效果 项目 代码 下载  VS2022+.net4.8+ OpenCvSharp4+Sdcb.RotationDetector using OpenCvSharp; using Sdcb.RotationDetector; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace RotationDetector_图片旋转角

    2024年02月12日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包