【图片操作】混合图片

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

一、前言

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

网络异常,图片无法展示
|
左边和中间是两张不一样的图片,而右边则是混合后的图片。在朋友圈发几张这种图片还是比较有趣的。

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

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

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函数。这里传入三个参数,分别是两张图片和图片透明度,这里可以通过第三个参数调整混合效果。大家可以多尝试尝试。


目录
相关文章
|
17天前
|
存储 Python
python实现图片与视频转换:将视频保存为图片,将批量图片保存为视频
python实现图片与视频转换:将视频保存为图片,将批量图片保存为视频
|
6天前
|
存储 编解码 API
如何通过编程获取桌面分辨率、操作像素点颜色、保存位图和JPG格式图片,以及图片数据的处理和存储方式
如何通过编程获取桌面分辨率、操作像素点颜色、保存位图和JPG格式图片,以及图片数据的处理和存储方式
12 0
|
1月前
|
数据安全/隐私保护 Python
python 图片打水印 透明图片合并
python 图片打水印 透明图片合并
21 1
|
1月前
防止图片重复下载方案,图像压缩保存与压缩显示
防止图片重复下载方案,图像压缩保存与压缩显示
27 0
|
1月前
|
开发工具 数据安全/隐私保护 Android开发
视觉智能平台常见问题之图片解析出的水印图判断是自己添加的水印图如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
1月前
|
机器学习/深度学习 生物认证 API
视觉智能平台常见问题之只有一张原图设置输出图片格式如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
人工智能 文字识别 API
20行代码教你如何批量提取图片中文字
大家好,我是志斌~ 之前志斌在考研的时候遇到了一个问题,就是要将图片中的文字给提取出来,当时是J哥帮忙搞出来的,现在已经考完研了,也学会了提取方式,现在来给大家分享一下。
743 0
20行代码教你如何批量提取图片中文字
|
前端开发
如何实现一个图片的伪预览效果
如何实现一个图片的伪预览效果
58 0
【图片操作】给图片添加滤镜
现在我们都喜欢给图片添加滤镜,现在很多相机也自带了许多滤镜。我们可以在拍照的时候选择需要的滤镜。但是有时候我们需要给大量图片添加同样的滤镜,这个时候手动添加就非常麻烦了。为了方便,我们可以使用程序来帮我们完成添加滤镜的操作。
209 0
|
Python
【图片操作】批量生成缩略图
在我们日常生活中,缩略图很大程度减少了我们内存的使用。如果我们看一张图片就必须加载完成后才能看,那么我们就会发现很多应用都变慢了很多,而且流量也消耗的很快。今天我们就来看看Python生成缩略图的操作。
301 0