ImageOps 模块

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

从Pillow叉开始,只添加了修复程序。

1.1.3 新版功能.

PIL.ImageOps.autocontrast(image, cutoff=0, ignore=None)[源代码]

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

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

  • cutoff -- 从柱状图中截取多少百分比。

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

返回

图像。

PIL.ImageOps.colorize(image, black, white, mid=None, blackpoint=0, whitepoint=255, midpoint=127)[源代码]

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

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

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

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

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

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

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

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

返回

图像。

PIL.ImageOps.crop(image, border=0)[源代码]

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

参见

crop()

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

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

返回

图像。

PIL.ImageOps.deform(image, deformer, resample=2)[源代码]

使图像变形。

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

  • deformer -- 变形器对象。任何实现 getmesh 可以使用方法。

  • resample -- 可选的重新采样过滤器。与pil.image.transform函数中的值相同。

返回

图像。

PIL.ImageOps.equalize(image, mask=None)[源代码]

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

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

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

返回

图像。

PIL.ImageOps.expand(image, border=0, fill=0)[源代码]

向图像添加边框

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

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

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

返回

图像。

PIL.ImageOps.fit(image, size, method=0, bleed=0.0, centering=(0.5, 0.5))[源代码]

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

这个功能是由凯文·卡扎邦贡献的。

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

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

  • method -- 使用什么样的重采样方法。默认是 PIL.Image.NEAREST .

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

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

返回

图像。

PIL.ImageOps.flip(image)[源代码]

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

参数

image -- 要翻转的图像。

返回

图像。

PIL.ImageOps.grayscale(image)[源代码]

将图像转换为灰度。

参数

image -- 要转换的图像。

返回

图像。

PIL.ImageOps.invert(image)[源代码]

反转(否定)图像。

参数

image -- 要反转的图像。

返回

图像。

PIL.ImageOps.mirror(image)[源代码]

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

参数

image -- 要镜像的图像。

返回

图像。

PIL.ImageOps.posterize(image, bits)[源代码]

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

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

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

返回

图像。

PIL.ImageOps.solarize(image, threshold=128)[源代码]

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

参数
  • image -- 要日光化的图像。

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

返回

图像。