Python Imaging Library: ImageOps Module(图像运算模块)

来源:互联网 发布:网络打印机ip 编辑:程序博客网 时间:2024/06/15 11:02

Python Imaging Library: ImageOps Module(图像运算模块)

(版本1.1.3) ImageOps模块包含许多“现成的”图像处理操作。这个模块是实验性的,大多数操作符只支持“L”和“RGB”。

函数

autocontrast

ImageOps.autocontrast(image, cutoff=0) ⇒ image

图像对比度最大化(规范化)

该函数计算输入图像的直方图,根据截止百分比删除直方图中最亮和最暗的像素,

并对图像进行重排,使最黑的像素变为黑色(0),最亮的像素变为白色(255)。

colorize

ImageOps.colorize(image, black, white) ⇒ image

灰度图像彩色化。

黑、白参数应该是RGB数组或颜色名称。

该函数计算一个颜色楔形,将源图像中的所有黑像素映射到第一个颜色,将所有的白色像素映射到第二个颜色。

crop

ImageOps.crop(image, border=0) ⇒ image

从所有四边删除边框像素。这个函数适用于所有的图像模式。

deform

ImageOps.deform(image, deformer, filter=Image.BILINEAR) ⇒ image

使用给定的deobject对象来变形图像。

deobject对象应该提供一个getmesh方法,它返回一个适合于图像转换方法的网格(MESH)列表。

equalize

ImageOps.equalize(image) ⇒ image

直方图均衡化。

该函数将非线性映射应用于输入图像,以在输出图像中创建灰度值的均匀分布。

expand

ImageOps.expand(image, border=0, fill=0) ⇒ image

向图像所有四个边添加边框像素

fit

ImageOps.fit(image, size, method, bleed, centering) ⇒ image

返回一个指定大小的裁剪版图像。size参数输出图像的大小,以(宽度,高度)元组表示。

method参数是指重新采样的方法。缺省值是图像最近邻方法。

bleed参数允许您删除图像外部的边框(从所有的四个边)。它的值是一个小数(用0.01表示1%)。默认值为0(没有边框)。

centering参数用于控制剪切位置。(0.5, 0.5) 是剪切中心。

(0.0,0.0)将从左上角开始。

(1.0,0.0)将从左下角开始。

flip

ImageOps.flip(image) ⇒ image

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

grayscale

ImageOps.grayscale(image) ⇒ image

将图像转换为灰度值图像。

invert

ImageOps.invert(image) ⇒ image

反转(取反)图像。

mirror

ImageOps.mirror(image) ⇒ image

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

posterize

ImageOps.posterize(image, bits) ⇒ image

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

solarize

ImageOps.solarize(image, threshold=128) ⇒ image

给定阈值之上所有像素值取反。

例程

# 图像对比度最大化(规范化)(autocontrast)
# ImageOps.autocontrast(image, cutoff=0) ⇒ image
PilImg_Autocontrast1 = Image.open('图像5.jpg')
PilImg_Autocontrast = ImageOps.autocontrast(PilImg_Autocontrast1,
                                            cutoff=0.9)
# PilImg_Autocontrast.show()


# 灰度图像彩色化(colorize)
# ImageOps.colorize(image, black, white) ⇒ image
PilImg_Colorize1 = Image.open('图像5.jpg').convert('L')
PilImg_Colorize = ImageOps.colorize(PilImg_Colorize1,
                                    black=(100, 126, 189),
                                    white=(56, 146, 231))
# PilImg_Colorize.show()


# 删除边框像素(crop)
# ImageOps.crop(image, border=0) ⇒ image
PilImg_Crop1 = Image.open('图像5.jpg').convert('L')
PilImg_Crop = ImageOps.crop(PilImg_Crop1, border=500)
# PilImg_Crop1.show()


# 直方图均衡化(equalize)
# ImageOps.equalize(image) ⇒ image
PilImg_Equalize1 = Image.open('图像5.jpg')
PilImg_Equalize = ImageOps.equalize(PilImg_Equalize1)
# PilImg_Equalize.show()


# 添加边框像素(expand)
# ImageOps.expand(image, border=0, fill=0) ⇒ image
PilImg_Expand1 = Image.open('图像5.jpg')
PilImg_Expand = ImageOps.expand(PilImg_Expand1, border=1, fill=1)
# PilImg_Expand.show()


# 垂直翻转图像(flip)
# ImageOps.flip(image) ⇒ image
PilImg_Flip1 = Image.open('图像5.jpg')
PilImg_Flip = ImageOps.flip(PilImg_Flip1)
# PilImg_Flip.show()


# 水平翻转图像(mirror)
# ImageOps.mirror(image) ⇒ image
PilImg_Mirror1 = Image.open('图像5.jpg')
PilImg_Mirror = ImageOps.mirror(PilImg_Mirror1)
# PilImg_Mirror.show()


# 将图像转换为灰度值图像(grayscale)
# ImageOps.grayscale(image) ⇒ image
PilImg_Grayscale1 = Image.open('图像5.jpg')
PilImg_Grayscale = ImageOps.grayscale(PilImg_Grayscale1)
# PilImg_Grayscale.show()


# 反转(取反)图像(invert)
# ImageOps.invert(image) ⇒ image
PilImg_Invert1 = Image.open('图像5.jpg')
PilImg_Invert = ImageOps.invert(PilImg_Invert1)
# PilImg_Invert.show()


# 减少每个颜色通道的位数(posterize)
# ImageOps.posterize(image, bits) ⇒ image
PilImg_Posterize1 = Image.open('图像5.jpg')
PilImg_Posterize = ImageOps.posterize(PilImg_Posterize1, bits=2)
# PilImg_Posterize.show()


# 将给定阈值之上所有像素值取反(solarize)
# ImageOps.solarize(image, threshold=128) ⇒ image
PilImg_Solarize1 = Image.open('图像5.jpg')
PilImg_Solarize = ImageOps.solarize(PilImg_Solarize1, threshold=250)
# PilImg_Solarize.show()
阅读全文
0 0
原创粉丝点击