(Newin 1.1.3)ImageOps模块包含了一些“ready-made”的图像处理操作。这个模块somewhatexperimental,大多数操作只工作在L和RGB图像上。
一、ImageOps模块的函数
1、 Autocontrast
定义:ImageOps.autocontrast(image, cutoff=0)⇒ image
含义:最大图像对比度。这个函数计算一个输入图像的直方图,从这个直方图中去除最亮和最暗的百分之cutoff,然后重新映射图像,以便保留的最暗像素变为黑色,即0,最亮的变为白色,即255。
例子:
>>> from PIL import Image, ImageOps
>>> im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im = ImageOps.autocontrast(im02, 20)
在图像im02中,去掉了原来直方图中最暗和最亮的各20%,剩下的像素值然后再映射到[0,255]的颜色空间上。
图像im如下:
2、 Colorize
定义:ImageOps.colorize(image, black, white)⇒ image
含义:使得灰色图像变成彩色图像。变量black和white应该是RGB元组或者颜色名称。这个函数会计算出一个颜色值,使得源图像中的所有黑色变成第一种颜色,所有白色变成第二种颜色。变量image的模式必须为“L”。
例子:
>>> from PIL import Image, ImageOps
>>> im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> r,g,b = im02.split()
>>> r.mode
'L'
>>> im_r = ImageOps.colorize(r, "green", "blue")
>>> im_b = ImageOps.colorize(b, (255, 0, 0), (0, 255, 0))
>>> im_g = ImageOps.colorize(g, (255, 0, 0), "blue")
图像im_r是图像im02中的R分量,通过函数colorize(),将其黑色像素转换为绿色,白色像素转换为蓝色。其效果如下:
图像im_g如下:
图像im_b如下: