首頁>技術>

這篇文章主要介紹了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類似。

合併後的效果如下:

14
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 對於Python,該如何自學?