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类似。

  • 相关阅读:
    [ 随手记 4 ]C/C++ 模板(Template)使用/重载区别
    [ 随手记 3 ] 堆区/栈区/堆栈/队列
    [ 随手记 2 ] C/C++ 数组/指针/传数组到函数/指针数组/数组指针
    柯西方程的另外一种解法
    十分强大的CC抛物线定理(数学)
    模板_BIT
    模板_SEG_TREE
    模板_SPLAY
    模板_LCA
    NOIP游(GUNCU)记
  • 原文地址:https://www.cnblogs.com/ydy1/p/12264352.html
Copyright © 2011-2022 走看看