ImageChops 模块
这个模块主要包括对图片的算术运算,叫做通道运算(channel operations)。这个模块可以用于多种途径,包括一些特效制作,图片整合,算数绘图等等方面。但是到目前为止,通道运算只支持8位图片("L"和"RGB"模式,可参看前文)。
这次的图片主要来源于网络上的一些关于黑客帝国的壁纸:Matrix Revolution,同样,如有侵权行为情快速联系我。图片本身没有什么意义,主要取其对比度比较明显之处。(本来打算使用以前几篇文章中的图片,不过工作平台移植到了linux, 图片丢失了,只好重新找了几张图片,大家可以自己找图片做一些有趣的实验)
在对图片进行算术操作前,需要导入Image和ImageChops模块,打开图片,然后作处理,这些前两篇文章有过介绍,就不多说了。
Invert:
ImageChops.invert(image)
图片反色,类似于集合操作中的求补集,最大值为Max,每个像素做减法,取出反色。
公式
out = MAX - image
lighter:
ImageChops.lighter(image1, image2)
比较两个图片(逐像素的比较),返回一个新的图片,这个新的图片是将两张图片中的较淡的部分的叠加。也即使说,在某一点上,两张图中,哪个的值小则取之。
公式
out = max(img1, img2)
darker:
ImageChops.darker(image1, image2)
与lighter正好相反。
公式
out = min(img1, img2)
difference:
ImageChops.difference(image1, image2)
求出两张图片的绝对值,逐像素的做减法
公式
out = abs(img1, img2)
multiply:
ImageChops.multiply(image1, image2)
将两张图片互相叠加,如果用纯黑色与某图片进行叠加操作,会得到一个纯黑色的图片。如果用纯白色与图片作叠加,图片不受影响。
计算的公式如下,
公式
out = img1 * img2 / MAX
(可以看到,如果时白色,MAX和MAX会约去,返回原始图片)
可能是图片选择的原因,大家可以下来试一下自己做一下两个图片的multipy操作。
screen:
ImageChops.screen(image1, image2)
先反色,后叠加。
公式
out = MAX - ((MAX - image1) * (MAX - image2) / MAX)
add:
ImageChops.add(img1, img2, scale, offset)
对两张图片进行算术加法,按照一下公式进行计算
公式
out = (img1+img2) / scale + offset
如果尺度和偏移被忽略的化,scale=1.0, offset=0.0
即
out = img1 + img2
subtract:
ImageChops.subtract(img1, img2, scale, offset)
对两张图片进行算术减法:
公式
out = (img1-img2) / scale + offset
这个模块的方法比较少,也比较直观,后面会介绍一些更高级的pil模块,包括图片的加强和pil自带的小型绘图库,由于这段时间工作上比较忙,所以更新受到了一定的影响,但是我会受时间将这些模块仔细研究,并给出demo来。
越学习越觉得这个库的丰富和强大,如果可以与前段时间说的opencv for python合并的话,就可以构造出更复杂,更精巧的图形处理工具了,呵呵。
- 大小: 12.2 KB
- 大小: 59.6 KB
- 大小: 16.9 KB
- 大小: 54.4 KB
- 大小: 22.8 KB
- 大小: 54.4 KB
- 大小: 60 KB
- 大小: 60.2 KB
- 大小: 60.9 KB
- 大小: 18 KB
分享到:
- 2009-03-03 23:07
- 浏览 7486
- 评论(1)
- 论坛回复 / 浏览 (0 / 3827)
- 查看更多
相关推荐
Python Imaging Library (PIL) 是Python中用于图像处理的一个重要库,它提供了丰富的图像处理功能,包括读取、创建、修改和保存各种图像文件格式。PIL的中文手册是学习和理解该库的关键资源。 **第一部分:介绍** 1...
PIL(Python Imaging Library)是一款功能强大且广泛使用的Python图像处理模块,用于学习Python进行图像处理的必备开发库。PIL模块提供了广泛的图像处理功能,包括图像创建、打开、显示、保存、合成、裁剪、滤波、...
Python中的Pillow库是进行图像处理的常用工具,它提供了丰富的功能来操作和修改图像。在本文中,我们将深入探讨Pillow库中的几个关键模块,包括`Image`、`ImageFilter`、`ImageChops`、`ImageEnhance`以及`ImageDraw...
Python Imaging Library(PIL)是 Python 语言中一个功能强大的图像处理库,提供了丰富的图像处理功能,包括图像读写、裁剪、合并、滤波、变换、增强等。下面是 PIL 官方手册中的一些重要知识点: 第 1 章 概览 ...
PythonPIL库,全称Python Imaging Library,是一个强大的图像处理库,用于在Python环境中进行图像操作。这个库包含了丰富的模块,提供了从简单的图像查看、编辑到复杂的图像处理算法。以下是一些主要模块的详细说明...
Pillow是一个由Python编程语言编写的图像处理库,它是著名的Python Imaging Library(PIL)的一个分支,为当前活跃的Python项目提供更新和维护。Pillow提供丰富的功能,包括打开、操作以及保存多种格式的图片文件,...
PIL是Python中强大的图像处理工具,它提供了丰富的图像处理功能,从基本的读写、裁剪、旋转,到复杂的色彩转换、滤波和增强,覆盖了图像处理的各个方面。无论是简单的图像编辑还是复杂的图像分析任务,PIL都能提供...
PIL是由Fredrik Lundh创建的Python图像处理库,它是Pillow的基础。 #### 六、发布说明 此部分记录了Pillow各个版本的发布日期、新功能、改进及已知问题等内容。 #### 七、索引和表格 这部分包含了Pillow文档的...
ImageChops模块** - 提供了一系列图像处理函数,如 `constant()`、`duplicate()`、`invert()` 等。 **3. ImageColor模块** - 提供了颜色名称到RGB值的映射,如 `getrgb()`、`getcolor()`。 **4. ImageDraw模块** ...