zoukankan      html  css  js  c++  java
  • 第五次毕业设计博客

    学习内容:

    https://blog.csdn.net/guduruyu/article/details/71439733

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

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

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

    1、使用Image.blend()接口

    代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # -*- 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)的形式对两幅图像进行合并。

    代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # -*- 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类似。

  • 相关阅读:
    eos合约案例导读
    eos TODO EOS区块链上EOSJS和scatter开发dApp
    电脑提示‘您需要来自Administration的权限才能对此文件夹进行更改’怎么删除文件
    ubuntu 设置全局代理
    eos开发实践
    eos博客
    如何在Ubuntu 18.04上安装Go
    parity密码
    Nodejs基础之redis
    完全搞懂事件
  • 原文地址:https://www.cnblogs.com/ydy1/p/12264352.html
Copyright © 2011-2022 走看看