Python图像处理实现两幅图像合成一幅图像的方法【测试可用】


Posted in Python onJanuary 04, 2019

本文实例讲述了Python图像处理实现两幅图像合成一幅图像的方法。分享给大家供大家参考,具体如下:

将两幅图像合成一幅图像,是图像处理中常用的一种操作,python图像处理库PIL中提供了多种种将两幅图像合成一幅图像的接口。

下面我们通过不同的方式,将两图合并成一幅图像。

Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

1、使用Image.blend()接口

代码如下:

# -*- coding:utf-8 -*-
from PIL import Image
def blend_two_images():
  img1 = Image.open( "bridge.png ")
  img1 = img1.convert('RGBA')
  img2 = Image.open( "birds.png ")
  img2 = img2.convert('RGBA')
  img = Image.blend(img1, img2, 0.3)
  img.show()
  img.save( "blend.png")
  return
blend_two_images()

两幅图像进行合并时,按公式:blended_img = img1 * (1 ? alpha) + img2* alpha 进行。

合成结果如下:

Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

2、使用Image.composite()接口

该接口使用掩码(mask)的形式对两幅图像进行合并。

代码如下:

# -*- coding:utf-8 -*-
from PIL import Image
def blend_two_images2():
  img1 = Image.open( "bridge.png ")
  img1 = img1.convert('RGBA')
  img2 = Image.open( "birds.png ")
  img2 = img2.convert('RGBA')
  r, g, b, alpha = img2.split()
  alpha = alpha.point(lambda i: i>0 and 204)
  img = Image.composite(img2, img1, alpha)
  img.show()
  img.save( "blend2.png")
  return
blend_two_images2()

代码第9行中指定的204起到的效果和使用blend()接口时的0.3类似。

合并后的效果如下:

Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python类定义的讲解
Nov 01 Python
Python fileinput模块使用介绍
Nov 30 Python
基于Python Shell获取hostname和fqdn释疑
Jan 25 Python
Python内置函数OCT详解
Nov 09 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
Python小工具之消耗系统指定大小内存的方法
Dec 03 Python
对python csv模块配置分隔符和引用符详解
Dec 12 Python
详解Django-restframework 之频率源码分析
Feb 27 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
Python小游戏之300行代码实现俄罗斯方块
Jan 04 #Python
django主动抛出403异常的方法详解
Jan 04 #Python
pyspark操作MongoDB的方法步骤
Jan 04 #Python
详解Appium+Python之生成html测试报告
Jan 04 #Python
python虚拟环境迁移方法
Jan 03 #Python
对django xadmin自定义菜单的实例详解
Jan 03 #Python
在Python中关于使用os模块遍历目录的实现方法
Jan 03 #Python
You might like
paypal即时到账php实现代码
2010/11/28 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
php生成与读取excel文件
2016/10/14 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
深入了解JavaScript代码覆盖
2019/06/13 Javascript
JS实现随机点名器
2020/04/12 Javascript
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
使用tensorflow实现线性回归
2018/09/08 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
python实现QQ批量登录功能
2019/06/19 Python
python 读取修改pcap包的例子
2019/07/23 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
Python urllib2运行过程原理解析
2020/06/04 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
生产部厂长职位说明书
2014/03/03 职场文书
离婚民事起诉状
2015/08/03 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL