Pillow ImageOps模块

2021-07-15 16:28 更新

ImageOps​ 模块包含许多“现成的”图像处理操作。这个模块是实验性的,大多数操作员只处理 L 和 RGB 图像。

1.1.3 新版功能.

PIL.ImageOps.autocontrast(imagecutoff=0ignore=None)

最大化(标准化)图像对比度。此函数计算输入图像(或遮罩区域)的直方图,删除直方图中最亮和最暗像素的百分比,并重新映射图像,使最暗的像素变为黑色(0),最亮的像素变为白色(255)。

参数
  • image -- 要处理的图像。

  • cutoff -- 从直方图上截止的低端和高端的百分比。要么是一个元组(低,高) ,要么两者都是一个数字。

  • ignore -- 背景像素值(无背景使用​None​)。

  • mask – 用于对比度操作的直方图是使用掩模中的像素计算出来的。如果没有给出遮罩,则使用整个图像进行直方图计算。

  • preserve_tone –在 photoshop 风格的自动对比中保留图像色调。

 8.2.0新版功能

返回

一个Image

PIL.ImageOps.colorize(imageblackwhitemid=Noneblackpoint=0whitepoint=255midpoint=127)

将灰度图像着色。此函数计算一个颜色楔形,它将源图像中的所有黑色像素映射到第一种颜色,并将所有白色像素映射到第二种颜色。如果指定了 ​mid​,则使用三色映射。黑白参数应该是 RGB 元组或颜色名称; 也可以通过指定 ​mid ​来使用三色映射。可以指定任何颜色的映射位置(例如 ​blackpoint​) ,其中这些参数是与应该映射的相应颜色对应的整数值。这些参数必须有逻辑顺序,比如​ blackpoint < = midpoint < = whitepoint​ (如果指定了 ​mid​)。

参数
  • image -- 要着色的图像。

  • black -- 用于黑色输入像素的颜色。

  • white -- 用于白色输入像素的颜色。

  • mid -- 用于中间色调输入像素的颜色。

  • blackpoint -- 黑色映射的int值[0,255]。

  • whitepoint -- 白色映射的int值[0,255]。

  • midpoint -- 中间色调映射的int值[0,255]。

返回

一个Image

PIL.ImageOps.pad(imagesizemethod=3color=Nonecentering=0.5, 0.5)

返回图像的大小和填充版本,展开以填充请求的纵横比和大小。

参数
  • image -- 要调整大小和裁剪的图像。

  • size -- 请求的输出大小(以像素为单位),以(宽度、高度)元组的形式给出。

  • method -- 使用什么样的重采样方法。默认是 PIL.Image.BICUBIC . 见 过滤器 .

  • color -- 填充图像的背景色。

  • centering -- 控制原始图像在填充版本中的位置。(0.5,0.5)将使图像居中(0,0)将使图像与左上角对齐(1,1)将使图像与右下角对齐

返回

一个Image

PIL.ImageOps.crop(imageborder=0)

从图像中删除边框。从所有四个侧面移除相同数量的像素。此功能适用于所有图像模式。

参见​crop()

参数
  • image -- 要裁剪的图像。

  • border -- 要删除的像素数。

返回

一个Image

PIL.ImageOps.scale(imagefactorresample=3)

返回按参数中给定的特定因子重新缩放的图像。大于1的因子将展开图像,在0和1之间收缩图像。

参数
  • image -- 要重新缩放的图像。

  • factor -- 膨胀系数,如浮点数。

  • resample -- 使用什么样的重采样方法。默认是 PIL.Image.BICUBIC . 见  过滤器 .

返回

一个Image 对象。

PIL.ImageOps.deform(imagedeformerresample=2)

使图像变形。

参数
  • image -- 要变形的图像。

  • deformer -- 一个 deformer 对象。任何实现 getmesh 方法的对象都可以使用。

  • resample --一个可选的重采样过滤器。与 ​PIL.Image.transform​ 函数中的值相同。

返回

一个Image。

PIL.ImageOps.equalize(imagemask=None)

均衡图像直方图。此函数将非线性映射应用于输入图像,以便在输出图像中创建统一的灰度值分布。

参数
  • image -- 要均衡的图像。

  • mask -- 一个可选的遮罩。如果给定,分析中只包括由遮罩选择的像素。

返回

一个Image

PIL.ImageOps.expand(imageborder=0fill=0)

向图像添加边框

参数
  • image -- 要展开的图像。

  • border -- 边框宽度(像素)。

  • fill -- 像素填充值(颜色值)。默认值为0(黑色)。

返回

一个Image

PIL.ImageOps.fit(imagesizemethod=3bleed=0.0centering=0.5, 0.5)

返回图像的大小和裁剪版本,裁剪为请求的纵横比和大小。

这个功能是由凯文·卡扎邦提供的。

参数
  • image -- 要调整大小和裁剪的图像。

  • size -- 请求的输出大小(以像素为单位),以(宽度、高度)元组的形式给出。

  • method -- 使用什么样的重采样方法。默认是 PIL.Image.BICUBIC . 见 过滤器 .

  • bleed -- 从所有四个边缘删除图像外部的边框。该值为小数百分比(使用0.01表示一个百分比)。默认值为0(无边框)。不能大于或等于0.5。

  • centering -- 控制裁剪位置。使用(0.5,0.5)进行中心裁剪(例如,如果裁剪宽度,则从左侧减去50%,因此从右侧减去50%)。(0.0,0.0)将从左上角裁剪(即,如果裁剪宽度,则从右侧裁剪所有裁剪,如果裁剪高度,则从底部裁剪所有裁剪)。(1.0,0.0)将从左下角等处进行裁剪(即,如果裁剪宽度,则从左侧取下所有裁剪,如果裁剪高度,则从顶部取下所有裁剪,因此从底部取下所有裁剪)。

返回

一个Image

PIL.ImageOps.flip(image)

垂直翻转图像(从上到下)。

参数

image -- 要翻转的图像。

返回

一个Image

PIL.ImageOps.grayscale(image)

将图像转换为灰度。

参数

image -- 要转换的图像。

返回

一个Image

PIL.ImageOps.invert(image)

反转(否定)图像。

参数

image -- 要反转的图像。

返回

一个Image

PIL.ImageOps.mirror(image)

水平翻转图像(从左向右)。

参数

image -- 要镜像的图像。

返回

一个Image

PIL.ImageOps.posterize(imagebits)

减少每个颜色通道的位数。

参数
  • image -- 要进行后验的图像。

  • bits -- 为每个信道保留的位数(1-8)。

返回

一个Image

PIL.ImageOps.solarize(imagethreshold=128)

反转高于阈值的所有像素值。

参数
  • image -- 要过度曝光的图像。

  • threshold -- 此灰度级别之上的所有像素都是反转的。

返回

一个Image

PIL.ImageOps.exif_transpose(image)

如果图像具有EXIF方向标记,则返回相应地转置的新图像。否则,返回图像的副本。

参数

image -- 要转置的图像。

返回

一个Image


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号