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实现网站的模拟登录
Jan 04 Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 Python
关于Python 3中print函数的换行详解
Aug 08 Python
基于Python闭包及其作用域详解
Aug 28 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
django做form表单的数据验证过程详解
Jul 26 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
Python matplotlib画曲线例题解析
Feb 07 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
Python unittest discover批量执行代码实例
Sep 08 Python
python 实现控制鼠标键盘
Nov 27 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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
PHP详细彻底学习Smarty
2008/03/27 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
JSON格式化输出
2014/11/10 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
vue实现个人信息查看和密码修改功能
2018/05/06 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
公司清洁工岗位职责
2013/12/14 职场文书
2014年电教工作总结
2014/12/19 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
环保建议书范文
2015/09/14 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
Python爬虫基础初探selenium
2021/05/31 Python
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL