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 相关文章推荐
9种python web 程序的部署方式小结
Jun 30 Python
Python数据类型详解(一)字符串
May 08 Python
Python的SimpleHTTPServer模块用处及使用方法简介
Jan 22 Python
Python3 log10()函数简单用法
Feb 19 Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 Python
Django之编辑时根据条件跳转回原页面的方法
Aug 21 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
pandas中的数据去重处理的实现方法
Feb 10 Python
python中使用input()函数获取用户输入值方式
May 03 Python
python 实现定时任务的四种方式
Apr 01 Python
Django实现drf搜索过滤和排序过滤
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
php中文字母数字验证码实现代码
2008/04/25 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
php 常用的系统函数
2017/02/07 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
Javascript实现单例模式
2016/01/24 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
ansible作为python模块库使用的方法实例
2017/01/17 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
python交互界面的退出方法
2019/02/16 Python
Python进行特征提取的示例代码
2020/10/15 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
C++的几个面试题附答案
2016/08/03 面试题
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
新生入学欢迎词
2015/01/26 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
Java 多线程协作作业之信号同步
2022/05/11 Java/Android