`
abruzzi
  • 浏览: 452423 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Python图形图像处理库的介绍之ImageChops模块

阅读更多

 

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
分享到:
评论
1 楼 smithsun 2009-03-04  
继续期待ing!

相关推荐

    PythonImagingLibrary中文手册、PIL中文手册、python图像处理.pdf

    Python Imaging Library (PIL) 是Python中用于图像处理的一个重要库,它提供了丰富的图像处理功能,包括读取、创建、修改和保存各种图像文件格式。PIL的中文手册是学习和理解该库的关键资源。 **第一部分:介绍** 1...

    PIL模块学习

    PIL(Python Imaging Library)是一款功能强大且广泛使用的Python图像处理模块,用于学习Python进行图像处理的必备开发库。PIL模块提供了广泛的图像处理功能,包括图像创建、打开、显示、保存、合成、裁剪、滤波、...

    超全Python图像处理讲解(多图预警)

    Python中的Pillow库是进行图像处理的常用工具,它提供了丰富的功能来操作和修改图像。在本文中,我们将深入探讨Pillow库中的几个关键模块,包括`Image`、`ImageFilter`、`ImageChops`、`ImageEnhance`以及`ImageDraw...

    精选ythonImaging Library中文手册p.pdf

    Python Imaging Library(PIL)是 Python 语言中一个功能强大的图像处理库,提供了丰富的图像处理功能,包括图像读写、裁剪、合并、滤波、变换、增强等。下面是 PIL 官方手册中的一些重要知识点: 第 1 章 概览 ...

    PythonPIL详解

    PythonPIL库,全称Python Imaging Library,是一个强大的图像处理库,用于在Python环境中进行图像操作。这个库包含了丰富的模块,提供了从简单的图像查看、编辑到复杂的图像处理算法。以下是一些主要模块的详细说明...

    pillow_documentation.pdf

    Pillow是一个由Python编程语言编写的图像处理库,它是著名的Python Imaging Library(PIL)的一个分支,为当前活跃的Python项目提供更新和维护。Pillow提供丰富的功能,包括打开、操作以及保存多种格式的图片文件,...

    Python Imaging Library 中文手册

    PIL是Python中强大的图像处理工具,它提供了丰富的图像处理功能,从基本的读写、裁剪、旋转,到复杂的色彩转换、滤波和增强,覆盖了图像处理的各个方面。无论是简单的图像编辑还是复杂的图像分析任务,PIL都能提供...

    pillow官方文档

    PIL是由Fredrik Lundh创建的Python图像处理库,它是Pillow的基础。 #### 六、发布说明 此部分记录了Pillow各个版本的发布日期、新功能、改进及已知问题等内容。 #### 七、索引和表格 这部分包含了Pillow文档的...

    PIL中文手册

    ImageChops模块** - 提供了一系列图像处理函数,如 `constant()`、`duplicate()`、`invert()` 等。 **3. ImageColor模块** - 提供了颜色名称到RGB值的映射,如 `getrgb()`、`getcolor()`。 **4. ImageDraw模块** ...

Global site tag (gtag.js) - Google Analytics