Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

 更新时间:2019年01月04日 10:49:39   作者:PHILOS_THU  
这篇文章主要介绍了Python图像处理实现两幅图像合成一幅图像的方法,结合实例形式分析了Python使用Image.blend()接口与Image.composite()接口进行图像合成的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Python接口自动化浅析数据驱动原理

    Python接口自动化浅析数据驱动原理

    这篇文章主要介绍了Python接口自动化浅析数据驱动原理,文中会详细描述怎样使用openpyxl模块操作excel及结合ddt来实现数据驱动,有需要的朋友可以参考下
    2021-08-08
  • python矩阵/字典实现最短路径算法

    python矩阵/字典实现最短路径算法

    这篇文章主要为大家详细介绍了python矩阵/字典实现最短路径算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 一百行python代码将图片转成字符画

    一百行python代码将图片转成字符画

    这篇文章主要为大家详细介绍了一百行python代码将图片转成字符画 ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • TorchVision Transforms API目标检测实例语义分割视频类

    TorchVision Transforms API目标检测实例语义分割视频类

    这篇文章主要为大家介绍了TorchVision Transforms API大升级,支持目标检测、实例/语义分割及视频类任务示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Python pathlib模块使用方法及实例解析

    Python pathlib模块使用方法及实例解析

    这篇文章主要介绍了Python pathlib模块使用方法及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python中selenium库的用法详解

    Python中selenium库的用法详解

    这篇文章主要介绍了Python中selenium库的用法详解,需要的朋友可以参考下
    2021-05-05
  • Anaconda安装pytorch和paddle的方法步骤

    Anaconda安装pytorch和paddle的方法步骤

    本文主要介绍了Anaconda安装pytorch和paddle的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Python中通用的文本相似度计算方法详解

    Python中通用的文本相似度计算方法详解

    这篇文章主要为大家详细介绍了三种Python中通用的文本相似度计算方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • python自动化测试之如何解析excel文件

    python自动化测试之如何解析excel文件

    这篇文章主要介绍了python自动化测试之如何解析excel文件,今天我们就把不同模块处理excel文件的方法做个总结,直接做封装,方便我们以后直接使用,增加工作效率。,需要的朋友可以参考下
    2019-06-06
  • Python基于Flask框架配置依赖包信息的项目迁移部署

    Python基于Flask框架配置依赖包信息的项目迁移部署

    这篇文章主要介绍了Python基于Flask框架配置依赖包信息的项目迁移部署小技巧,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-03-03

最新评论