python调整图像大小_使用Python调整图像大小

本文介绍了如何使用Python创建和调整图像大小。首先,通过matplotlib库展示了如何从基础创建一个图像,然后通过OpenCV和Pillow库演示了调整图像大小的方法。文章提供了详细的代码示例,包括一个命令行程序,允许用户批量调整图像尺寸。
摘要由CSDN通过智能技术生成

可以说,每一个“使用计算机的人”都需要在某个时间点调整图像的大小。MacOS的预览版可以做到,WindowsPowerToys也可以。

本文使用Python来调整图像大小,幸运的是,图像处理和命令行工具是Python的两个特长。

本文旨在向你展示三件事:

图像的基本概念。用于操作图像的Python库。你可以在自己的项目中使用本文的代码。我们要构建的命令行程序可以一次调整一个或多个图像文件的大小。

创建图像

在这个例子中,我们将创建我们自己的图像,而不是找到一个真正的图像来操纵。

为什么?事实上,创造图像是一个很好的方式来说明一个图像实际上是什么。这个调整大小的程序在Instagram上也同样适用。

那么,什么是图像?在Python数据术语中,图像是int元组的列表。

image = list[list[tuple[*int, float]]]NumPy的定义是一个二维形状数组 (h, w, 4),其中h表示高的像素数(上下),w表示宽的像素数(从左到右)。

换句话说,图像是像素列表(行)的列表(整个图像)。每个像素由3个整数和1个可选浮点数组成:红色通道、绿色通道、蓝色通道、alpha(浮点可选)。红色、绿色、蓝色通道(RGB)的值从0到255。

从现在开始,我们将讨论没有alpha通道的彩色图像,以保持简单。Alpha是像素的透明度。图像也只能有一个值从0到255的通道。这就是灰度图像,也就是黑白图像。在这里我们使用彩色图像!

import matplotlib as pltpixel: tuple = (200, 100, 150)plt.imshow([[list(pixel)]])

用纯Python制作图像

Python完全能够创建图像。要显示它,我将使用matplotlib库,你可以使用它安装:

pip install matplotlib创建像素:

from dataclasses import dataclass@dataclassclass Pixel: red: int green: int blue: int # alpha: float = 1pixel = Pixel(255,0,0)pixel# returns: # Pixel(red=255, green=0, blue=0, alpha=1)创建图像:

from __future__ import annotationsfrom dataclasses import dataclass, astuplefrom itertools import cyclefrom typing import Listimport matplotlib.pyplot as pltimport matplotlib.image as mpimg@dataclassclass Pixel: red: int green: int blue: int # alpha: float = 1pixel = Pixel(255,0,0)pixelmarigold: Pixel = Pixel(234,162,33)red: Pixel = Pixel(255,0,0)Image = List[List[Pixel]]def create_image(*colors: Pixel, blocksize: int = 10, squaresize: int = 9) -> Image: """ 用可配置的像素块制作一个正方形图像(宽度和高度相同). Args: colors (Pixel): 可迭代的颜色呈现顺序的参数。 blocksize (int, optional): [description]. 默认10. squaresize (int, optional): [description]. 默认9. Returns: Image: 一幅漂亮的正方形图片!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值