一、前言

今天我们来实现一下图片的混合。图片混合就是把两张图片混合在一起,我们可以看下效果,具体效果如下:


左边和中间是两张不一样的图片,而右边则是混合后的图片。在朋友圈发几张这种图片还是比较有趣的。

二、通过混合通道混合图片

混合图片的方式有很多种,我们先来看看如何通过混合图片的通道来实现图片混合。代码如下:

from PIL import Image
img_size = (400, 400)# 读取图片
img1 = Image.open("1.jpg").convert("RGB")
img2 = Image.open("2.jpg").convert("RGB")# 修改图片尺寸
img1 = img1.resize(img_size)
img2 = img2.resize(img_size)# 分离三个通道
r1, g1, b1 = img1.split()
r2, g2, b2 = img2.split()# 合并通道
img = Image.merge("RGB", (r1, g2, b1))
img.show()

这里我们操作的流程如下:

  1. 读取图片
  2. 修改图片尺寸
  3. 分离通道
  4. 合并通道

首先读取图片的时候我们将图片转换成RGB模式,这样可以方便后续分离通道的操作。然后我们修改图片到同一尺寸,因为混合的时候需要尺寸一样。修改尺寸后就可以分离通道了,然后将两个图片的通道混合在一起达到混合图片的效果。效果图如下:

这里的效果不是特别好,我们可以通过给图片添加滤镜的方式来优化图片效果。这里就不详细说了。我们看第二种方式。

三、使用blend函数混合

在Pillow种提供了一个blend函数用于混合图片,操作非常简单,具体代码如下:

from PIL import Image
img_size = (400, 400)# 读取图片
img1 = Image.open("1.jpg").convert("RGB")
img2 = Image.open("2.jpg").convert("RGB")# 修改尺寸
img1 = img1.resize(img_size)
img2 = img2.resize(img_size)# 混合图片
img = Image.blend(img1, img2, 0.5)
img.show()

前面的操作是一样的,后面我们没有分离通道,而是直接调用Image.blend函数。这里传入三个参数,分别是两张图片和图片透明度,这里可以通过第三个参数调整混合效果。大家可以多尝试尝试。

Python混合图片操作相关推荐

  1. python 将图片转换成像素画_Python 骚操作之图片转字符画

    今天给大家介绍一个 Python 的骚操作,将图片转化为字符画,又是一个装逼的好技巧,大家赶紧 get 一下吧! 实现原理: 字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表 ...

  2. Python中图片基本处理操作

    使用python进行图像处理编程很方便,读取图片,显示图片,保存图片 1.opencv 2.PIL(pillow) 3.matplotlib 4.scipy 5.skimage 1.opencv图片基 ...

  3. python:实现图片dilation operation扩张操作算法(附完整源码)

    python:实现图片dilation operation扩张操作算法 import numpy as np from PIL import Image def rgb2gray(rgb: np.ar ...

  4. python图片转文字_【收藏】图片转成文字的方法总结,python批量图片转文字信息参考源码...

    在日常办公或者学习中,往往存在这样一个工作场景,比如,"老王,我这里有一张图片,你把里面的文字信息给我整理出来",都2021年了,你真的还在手敲图片文字信息么?那么还不赶紧收藏这篇 ...

  5. python合成图片_python图片合成的示例

    python的PIL库简直好用的不得了,PIL下面的Image库更是封装了很多对图片处理的函数,关于Image库的介绍和使用,看这里:http://effbot.org/imagingbook/ima ...

  6. 【收藏】图片转成文字的方法总结,python批量图片转文字信息参考源码

    在日常办公或者学习中,往往存在这样一个工作场景,比如,"老王,我这里有一张图片,你把里面的文字信息给我整理出来",都2021年了,你真的还在手敲图片文字信息么?那么还不赶紧收藏这篇 ...

  7. python爬图片_网络爬虫经验:反爬和反反爬

    我想很多人入门python是图片爬虫,就是HTTP请求,保存一下图片,用python实现非常快.网上很多爬虫的教程就讲到这里,实际上很单一,看了跟没看没什么区别,都是找一下网页的规律,然后Beauti ...

  8. android与python交互_Android与Python混合编程

    前言 早在2017年的时候,出于业余兴趣,我就开始研究关于Python移植到Android上的实现方案,我一直希望能实现Android与Python的混合编程,并为此写了一系列博客,我希望借助JNI技 ...

  9. python 实现卷积操作

    python实现卷积操作 调用tf.nn.conv2d()实现卷积 自己实现卷积函数 我们知道,tensorflow里面自带卷积函数,tf.nn.conv2d()就可以实现相关功能,本文主要是自己实现 ...

最新文章

  1. Python 3.X 要使用urllib.request 来抓取网络资源。转
  2. 计算char,short,int,long类型变量的取值范围
  3. 排序算法——归并排序的相关问题
  4. bzoj 4006 管道连接 —— 斯坦纳树+状压DP
  5. rac部署过程的任务列表
  6. php pdf添加水印图片,php pdf添加水印(中文水印,图片水印)
  7. 吴恩达深度学习——循环神经网络
  8. 无人机群编队分析的定位问题 分析与思考-1(数学建模竞赛2022年B题)
  9. 基于matlab的紧急疏散模型仿真的代码,基于matlab的疏散仿真程序简介.pdf
  10. Matlab在工业机器人中的运用,基于MATLAB的工业机器人建模与仿真.docx
  11. 第二章 基本放大电路
  12. 梦幻西游ps计算机,五开选择PS与NE:那是因为效率高的缘故
  13. DFX:面向产品生命周期的设计
  14. 文档集数据处理 gensim corpora.Dictionary
  15. 域名访问Winmail邮件服务器
  16. 敏捷开发之一—笼统的介绍
  17. pandas中Series的使用
  18. 追剧达人观看电影源码
  19. 信息熵/交叉熵/相对熵
  20. 甘肃省金昌市谷歌卫星地图下载(百度网盘离线包下载)

热门文章

  1. Windows重装电脑系统教程(制作启动U盘+重装系统)建议收藏
  2. 如何把D盘多余空间返还给C盘
  3. 医学图像彩色化相关--20201208论文笔记Colorization of CT images to improve tissue contrast for tumor segmentation
  4. thinkphp6项目的支付宝手机网页支付接入
  5. 一些文字,纪念我远去的姑父
  6. 如何批量将图片尺寸改成一样大?
  7. 使用MQTTNet包实现客户端与服务端通讯
  8. js 爱心随鼠标移动 产生 并 消散 (源码)
  9. MySQL的学习笔记(超详细超完整)
  10. leaflet图标样式