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数据库的连接实现方法与注意事项
Feb 27 Python
Python pass详细介绍及实例代码
Nov 24 Python
浅析Git版本控制器使用
Dec 10 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 Python
Apache部署Django项目图文详解
Jul 30 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
Pycharm中使用git进行合作开发的教程详解
Nov 17 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
Jan 13 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 批量删除数据的方法分析
2009/10/30 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
功能强大的php分页函数
2016/07/20 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
python通过zabbix api获取主机
2018/09/17 Python
使用Python进行目录的对比方法
2018/11/01 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
新驾驶员个人自我评价
2014/01/03 职场文书
投资合作协议书
2014/04/17 职场文书
个人总结与自我评价
2015/02/14 职场文书
辩论会主持词
2015/07/03 职场文书
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript