Python实现简单图像缩放与旋转

Python实现简单图像缩放与旋转

缩放

方法1:PIL库

  • 安装PIL库
pip install Pillow
  • 缩放图片
from PIL import Image

# 打开图片
img = Image.open('example.jpg')

# 缩放图片
resized_img = img.resize((200, 200))

# 保存图片
resized_img.save('example_resized.jpg')

方法2:OpenCV库

  • 安装OpenCV库
pip install opencv-python
  • 缩放图片
import cv2

# 读取图片
img = cv2.imread('example.jpg')

# 缩放图片
resized_img = cv2.resize(img, (200, 200))

# 保存图片
cv2.imwrite('example_resized.jpg', resized_img)

旋转

方法1:PIL库

from PIL import Image

# 打开图片
img = Image.open('example.jpg')

# 旋转图片
rotated_img = img.rotate(45)

# 保存图片
rotated_img.save('example_rotated.jpg')

方法2:OpenCV库

import cv2
import numpy as np

# 读取图片
img = cv2.imread('example.jpg')

# 获取图片宽高
(h, w) = img.shape[:2]

# 构造旋转矩阵,取得图片中心点,旋转45度
center = (w // 2, h // 2)
M = cv2.getRotationMatrix2D(center, 45, 1.0)

# 旋转图片
rotated_img = cv2.warpAffine(img, M, (w, h))

# 保存图片
cv2.imwrite('example_rotated.jpg', rotated_img)

示例说明

在PIL库中,resize方法直接调用即可,而在OpenCV库中需要调用resize函数。在PIL库中,直接调用rotate方法即可旋转图片,而在OpenCV库中需要使用warpAffine函数和getRotationMatrix2D函数构造旋转矩阵后再进行旋转,相当于手动实现了旋转算法。

总体而言,PIL库实现简单的图片处理任务更为方便,而OpenCV库则更为灵活,可应对更加复杂的处理任务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现简单图像缩放与旋转 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • python数据结构之递归方法讲解

    Python数据结构之递归方法讲解 递归是一种常用的编程技巧,它可以将一个问题分解成更小的子问题,直到问题变得足够简单,可以直接解决。在Python中,递归可以用于解决许多问题,例如计算阶、斐波那契数列等。本文将详细介绍Python中递归的用法和示例。 递归的基本原理 递归是一种函数调用自身的技术。在递归函数中,函数会不断地调用自身,直到满足某条件才停止递归…

    python 2023年5月13日
    00
  • 如何使用Python进行视频处理?

    使用Python进行视频处理可以借助很多第三方库,比如OpenCV和MoviePy等。以下是使用这两个库进行视频处理的完整攻略。 安装必要的库 在开始之前,需要先安装必要的库。可以使用以下命令在终端中安装: pip install opencv-python moviepy 视频读取与写入 在使用OpenCV进行视频处理时,可以使用cv2.VideoCapt…

    python 2023年4月19日
    00
  • python3.7 openpyxl 在excel单元格中写入数据实例

    下面是详细讲解“python3.7openpyxl在excel单元格中写入数据实例”的完整实例教程,包含两条示例说明: 环境准备 在开始本教程前,请确保您已经安装了以下软件: Python 3.7及以上版本 openpyxl库 开始教程 步骤1:创建工作簿 首先,我们需要创建一个工作簿,即execl文件。使用openpyxl库中的Workbook()方法可以…

    python 2023年5月13日
    00
  • Python实现简单的获取图片爬虫功能示例

    标题:Python实现简单的获取图片爬虫功能示例攻略 背景介绍 随着互联网的发展,人们需要从互联网上获取各种信息。其中获取图片是一个非常常见的需求。本文将介绍如何使用Python实现简单的获取图片爬虫功能。这种爬虫可以从指定的网站上获取所有的图片,并将这些图片下载到本地。 环境准备 本文所使用的开发环境为Python 3.x。请确保您的计算机上已经安装了Py…

    python 2023年5月14日
    00
  • scrapy-redis源码分析之发送POST请求详解

    Scrapy-Redis是Scrapy框架的一个分布式扩展,可以实现多个爬虫节点之间的数据共享和任务调度。本文将详细讲解Scrapy-Redis源码分析之发送POST请求的完整攻略,包括使用requests库和Scrapy框架两个示例。 使用requests库发送POST请求的示例 以下是一个示例,演示如何使用requests库发送POST请求: impor…

    python 2023年5月15日
    00
  • Python使用defaultdict解决字典默认值

    当我们使用Python自带的字典对象时,如果使用中遇到一个还未在字典中被定义的键,那么Python会抛出一个KeyError的错误。为了避免这种情况,我们需要在使用前判断键是否存在,或者事先为键设置默认值。 Python标准库中有一个collections模块,其中的defaultdict类给我们提供了设置默认值的一种简单、优雅的方法。接下来,我们将进一步解…

    python 2023年5月13日
    00
  • python文件处理–文件读写详解

    Python文件处理–文件读写详解 在Python中,文件是一种常见的数据交互方式。本文将详细讲解Python文件读写,包括: 打开/关闭文件 读取文件内容 写入文件内容 追加文件内容 读写文件的不同模式 打开/关闭文件 打开文件 在Python中,打开文件有两种方式:使用内置函数open()和使用Python标准库中的pathlib模块。这里我们着重介绍…

    python 2023年6月5日
    00
  • Python 调用有道翻译接口实现翻译

    当我们需要将中文翻译成其他语言时,可以使用有道翻译这个 API 接口。Python 基于 requests 库可以发送 HTTP 请求,获取有道翻译 API 的返回数据,根据返回的数据进行相应的处理即可。整个过程分为以下几个步骤: 准备调用所需要的参数根据有道翻译 API 文档中的要求,准备需要的参数信息,其中应包括翻译的文本、应用 ID 和应用密钥等。 向…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部