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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
分享15个最受欢迎的Python开源框架
Jul 13 Python
python中lambda与def用法对比实例分析
Apr 30 Python
python 以16进制打印输出的方法
Jul 09 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
Python正则表达式实现简易计算器功能示例
May 07 Python
python 直接赋值和copy的区别详解
Aug 07 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
May 26 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 Python
Flask response响应的具体使用
Jul 15 Python
使用scrapy实现增量式爬取方式
Jun 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
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
详解easyui 切换主题皮肤
2019/04/04 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python开发简易版在线音乐播放器
2017/03/03 Python
Django如何配置mysql数据库
2018/05/04 Python
python如何生成网页验证码
2018/07/28 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
24个canvas基础知识小结
2014/12/17 HTML / CSS
Java程序开发中如何应用线程
2016/03/03 面试题
写给妈妈的道歉信
2014/01/11 职场文书
员工生日活动方案
2014/08/24 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
母亲节主题班会
2015/08/14 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python
Python语言中的数据类型-序列
2022/02/24 Python