Pillow图像分离与合并

  我们知道,图像(指数字图像)由许多像素点组成,像素是组成图像的基本单位,而每一个像素点又可以使用不同的颜色,最终呈现出了绚丽多彩的图像。一些图片模式,它们的本质就是图片呈现颜色时需要遵循的规则,比如 RGB、RGBA、CYMK 等,而图像的分离与合并,指的就是图像颜色的分离和合并。

  Image 类提供了用于分离图像和合并图像的方法 split() 和 merge() 方法,通常情况下,这两个方法会一起使用。

  split()

  split() 的使用方法比较简单,用来分离颜色通道。我们使用它来处理蝴蝶图片:

  代码如下所示:  

im=Image.open("C:/Users/Administrator/Desktop/1.jpg")
#修改图像大小,以适应图像处理
image=im.resize((450,400))
image.save("C:/Users/Administrator/Desktop/2.jpg")
#分离颜色通道,产生三个 Image对象
r,g,b = image.split()
r.show()
g.show()
b.show()123456789复制代码类型:[python]

  输出的结果,依次展示如下:

merge()

  Image 类提供的 merge() 方法可以实现图像的合并操作。注意,图像合并,可以是单个图像合并,也可以合并两个以上的图像。

  merge() 方法的语法格式如下:

Image.merge(mode, bands)1复制代码类型:[python]

  参数说明如下:

  mode:指定输出8图片的模式

  bands:参数类型为元组或者列表序列,其元素值是组成图像的颜色通道,比如 RGB 分别代表三种颜色通道,可以表示为 (r,g,b)。

  注意,该函数会返回一个新的 Image 对象。

  下面对图像合并的两种类型分别进行介绍:

  一. 单个图像的合并指的是将颜色通道进行重新组合,从而得到不一样的图片效果,代码如下所示:  

from PIL import Image
im=Image.open("C:/Users/Administrator/Desktop/1.jpg")
#修改图像大小,以适应图像处理
image=im.resize((450,400))
image.save("C:/Users/Administrator/Desktop/2.jpg")
#分离颜色通道,产生三个 Image对象
r,g,b = image.split()
#重新组合颜色通道,返回先的Image对象
image_merge=Image.merge('RGB',(b,g,r))
image_merge.show()
#保存图像至桌面
image_merge.save("C:/Users/Administrator/Desktop/3.jpg")123456789101112复制代码类型:[python]

  新合成的图像入如下所示:

  两张图片的合并操作也并不复杂,但是要求两张图片的模式、图像大小必须要保持一致,否则不能合并。因此,对于那些模式、大小不同的图片要进行预处理。

  下面我们将蝴蝶图与向日葵图进行合并,向日葵原图如下:

  示例代码如下:

from PIL import Image
#打开图2.jpg
im_1 = Image.open("C:/Users/Administrator/Desktop/2.jpg")
im_2= Image.open("C:/Users/Administrator/Desktop/向日葵.jpg")
#因为两种图片的图片格式一致,所以仅需要处理图片的大小,让它们保持一致
#让 im_2 的图像尺寸与 im_1 一致,注意此处新生成了 Image 对象
image = im_2.resize(im_1.size)
#接下来,对图像进行颜色分离操作
r1, g1 ,b1 = im_1.split()
r2, g2 , b2 = image.split()
# 合并图像
im_3 = Image.merge('RGB',[r2,g1,b2])
im_3.show()
im_3.save("C:/Users/Administrator/Desktop/合成.jpg")1234567891011121314复制代码类型:[python]

  预览图像的合成结果:

  扩展知识:blend() 混合图片

  Image 类也提供了 blend() 方法来混合 RGBA 模式的图片(PNG 格式),函数的语法格式如下:

Image.blend(image1,image2, alpha)1复制代码类型:[python]

  参数说明如下:

  image1.image2:表示两个 Image 对象。

  alpha:表示透明度,取值范围为 0 到 1.当取值为 0 时,输出图像相当于 image1 的拷贝,而取值为 1 时,则是 image2 的拷贝,只有当取值为 0.5 时,才为两个图像的中合。因此改值的大小决定了两个图像的混合程度。

(0)

相关推荐

  • 第96天:图像库 PIL(一)

    Python 提供了 PIL(python image library)图像库,来满足开发者处理图像的功能,该库提供了广泛的文件格式支持,包括常见的 JPEG.PNG.GIF 等,它提供了图像创建.图 ...

  • 第97天:图像库 PIL(二)

    上节我们讲了 Python 的图像处理库 PIL 的基本图像处理功能,打开了 PIL 的神秘面纱.这节我们接着讲 PIL 的 Image 模块的常用方法. Image 模块的方法 convert Im ...

  • 如何把一万多张黑白图片添加RGB伪彩并Merge?Image J来帮忙!

    这是来自于粉丝的提问,最近一直忙得很,拖了很久一直没有回复.今天咬牙抽时间,居然在两个小时回答了她的问题还顺路整理成了教程,-_-||. 本教程适合于图片文件名具有明显规律,可以区分不同通道的灰度图片 ...

  • 荧光显微镜图像,该如何更漂亮地展示呢?

    荧光显微镜图像,该如何更漂亮地展示呢?

  • python+opencv图像处理(三)

    彩色图像拆分与合并 外面的世界很精彩,很缤纷,很鲜艳,很五颜六色...... 通常我们拍摄的图片都是彩色的,即RGB图像.自然界中的绝大多数颜色也都可以看作是由红(Red).绿(Green).蓝(Bl ...

  • 深入剖析Python最强大图片处理模块——Pillow

    前言 Pillow作为一个图片模块.可谓是真的简便强大,它的前身是PIL,后来将他取代,现在的pillow 可谓是一家独大,好了,让我们来看看他的具体用法. 今天我们介绍pillow 常用六大模块: ...

  • python+opencv图像处理(八)

    无所谓,谁会爱上谁... 无所谓,不能天天更... 只要是,不要一直断... -----------------------------------我是可爱的分割线 图像平移的意思就是将图像沿着x轴. ...

  • 使用Matlab处理图像(一)

    通过程序能够看到图像是进行视觉学习的第一步,今天小白就给大家如何读取图片并进行简单的操作. 01 - Matlab的使用 小白在大一的时候接触过Matlab,怀着激动的心打开软件,然而...我并不会使 ...

  • 【从零学习OpenCV 4】多通道分离与合并

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • Excel工作簿中的工作表如何分离和合并

    操作方法 01 打开Excel工作簿,可以看到现在在名字为"工作簿1"的工作簿中有两个工作表,分别为"Sheet1"和"Sheet2". 我 ...

  • Pillow图像缩放操作

    在图像处理过程中经常会遇到缩小或放大图像的情况,Image 类提供的 resize() 方法能够实现任意缩小和放大图像. resize() 函数的语法格式如下: resize(size, resamp ...

  • PS如何分离图层中的部分图像?

    在PS中我们除了可以抠图之外,比较常用的就是分离图层,将我们需要的图像进行分割,下面 来看看如何操作吧! 1.打开一张背景是透明的图片,将里面的一笼食材分离出来. 2.选择左侧工具栏的套索工具. 3. ...

  • 如何在Lightroom中使用分离色调面板来挽救图像

    如何在Lightroom中使用分离色调面板来挽救图像

  • 如何在 Mac 上将 JPG图像合并为一个PDF

    如果您想将多个 JPG 文件合并为一个 PDF,您可以使用 macOS 标配的工具来完成这一切.事实上,您只需要使用预览应用程序.对于那些不熟悉 Preview 的人,它是一款让您无需将图片和 PDF ...

  • 『8分钟创伤』不合并踝关节骨折的下胫腓分离

    病例简介 患者男,27岁.因掉进一个5m深的坑中而摔伤右踝,根据患者描述,受伤机制可能是外展应力. 伤后先就诊于外院,拍片后诊断:各骨关节无异常.后因肿痛进一步加重于伤后第二天来本院就诊. ▲ 伤后在 ...

  • Word文档合并

    7/1分钟汇总100个Word文档,还能实现自动更新,再也不用复制粘贴了 - word办公小技巧 - 西瓜视频  https://www.ixigua.com/6929700285161931275 ...

  • 合并心血管疾病重症患者的贫血和输血

    合并心血管疾病重症患者的贫血和输血 重症行者翻译组  张鹏翻译 宋辉 校对 摘要 本文是2017年重症监护和急诊医学年鉴中的十篇综述之一.其他涉及文章见http://ccforum.com/serie ...