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

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

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

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 进行。

合成结果如下:

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图像处理实现两幅图像合成一幅图像的方法【测试可用】相关推荐

  1. python两张图合成一张_Python图像处理实现两幅图像合成一幅图像的方法【测试可用】...

    本文实例讲述了Python图像处理实现两幅图像合成一幅图像的方法.分享给大家供大家参考,具体如下: 将两幅图像合成一幅图像,是图像处理中常用的一种操作,python图像处理库PIL中提供了多种种将两幅 ...

  2. python 图片合并_Python 图片合并pdf

    1.缘起 最近需要将记的笔记整理成一个 pdf 进行保存,所以就研究了一下如何利用 Python 代码将拍下来的照片整个合并成一个 pdf. 2.过程 拿到一个需求最重要的就是将大块任务拆分成一个个小 ...

  3. python 列表比较不同_python实现比较两段文本不同之处的方法

    本文实例讲述了python实现比较两段文本不同之处的方法.分享给大家供大家参考.具体实现方法如下: # find the difference between two texts # tested w ...

  4. python时间差转换成天数_Python实现计算两个时间之间相差天数的方法

    本文实例讲述了Python实现计算两个时间之间相差天数的方法.分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date im ...

  5. python时间差计算器时分秒_Python实现计算两个时间之间相差天数的方法

    本文实例讲述了Python实现计算两个时间之间相差天数的方法.分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date im ...

  6. python 运算符重载_Python 炫技操作:模块重载的五种方法

    点击上方"Python编程时光",选择"加为星标"第一时间关注Python技术干货!明哥原创的200页<PyCharm 中文指南> 震撼发布 系列文 ...

  7. python发送邮件拒绝_Python发送邮件smtplib.SMTP各报错问题的解决方法

    经测试可用的发送邮件代码: import smtplib from email.mime.text import MIMEText # 第三方 SMTP 服务 mail_host = "sm ...

  8. python list合并_python基础===两个list合并成一个dict的方法

    def Run(): list2 = [, , , , ]; list3 = ["a", "b", "c", "d",& ...

  9. python list合并_python中如何合并两个列表

    python合并列表的方法如下: 方法一 最原始,最笨的方法,分别从两个列表中取出所有的元素,再放入新列表中就OK了.示例代码如下:list1 = [1,2,3] list2 = [4,5,6] li ...

最新文章

  1. mariadb转mysql_MariaDB/MySQL备份和恢复(二):数据导入、导出
  2. 综合布线机房服务器维护,信息机房的综合布线系统维护
  3. 文献记录(part94)--Clustering and outlier detection using isoperimetric number of trees
  4. Linux 如何关闭防火墙
  5. 2引擎帮助文档_Simcenter Amesim 16液压部分帮助文档中英文对照(2)
  6. linux kill命令信号,Linux kill 命令详解
  7. 云生态战略首次曝光,牵手精诚中国和神州光大共建云生态
  8. [bzoj1036][ZJOI2008]树的统计Count
  9. vue自动提交表单_(尚012)Vue表单数据的自动手集(表单数据提交,需要收集表单数据)...
  10. iis mysql cpu_[译]通过IIS Request Filtering解决SQL Server CPU高的问题
  11. chrome浏览器上传文件延迟_UEditor chrome 点击上传文件选择框会延迟几秒才会显示...
  12. css 属性名 查询表
  13. web移动端开发总结
  14. cartographer探秘第四章之代码解析(三) --- scan match
  15. 谷歌浏览器提示adobeflashplayer已过期
  16. vscode替换全局搜索快捷键
  17. 「BTC之城」的奇幻漂流
  18. linux 下网络编程 聊天室项目
  19. nginx中location介绍
  20. 通知之 Pending播放多媒体调用相册摄像头

热门文章

  1. 《SAP FIORI 开发入门》课程答疑 第二期
  2. awk 以列为域提取文件内容
  3. TypeScript 2.0 已发布
  4. 《Adobe Premiere Pro CS5经典教程》——2.9 用Media Browser查找素材
  5. discuz x3插件开发傻瓜图文教程,用demo说话
  6. Java Swing 探索(一)LayoutManager
  7. 基于Linux(LAMP)平台搭建MYsql数据库(二)
  8. 根本停不下来,原来学计算机可以这么有趣
  9. 搞不懂为啥都要去字节跳动,进阿里不香吗?
  10. 几个简化算法理解的网站,进来收藏!