溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法【測(cè)試可用】

發(fā)布時(shí)間:2020-10-10 09:34:16 來(lái)源:腳本之家 閱讀:310 作者:PHILOS_THU 欄目:開(kāi)發(fā)技術(shù)

本文實(shí)例講述了Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法。分享給大家供大家參考,具體如下:

將兩幅圖像合成一幅圖像,是圖像處理中常用的一種操作,python圖像處理庫(kù)PIL中提供了多種種將兩幅圖像合成一幅圖像的接口。

下面我們通過(guò)不同的方式,將兩圖合并成一幅圖像。

Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法【測(cè)試可用】

Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法【測(cè)試可用】

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()

兩幅圖像進(jìn)行合并時(shí),按公式:blended_img = img1 * (1 – alpha) + img2* alpha 進(jìn)行。

合成結(jié)果如下:

Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法【測(cè)試可用】

2、使用Image.composite()接口

該接口使用掩碼(mask)的形式對(duì)兩幅圖像進(jìn)行合并。

代碼如下:

# -*- 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()接口時(shí)的0.3類(lèi)似。

合并后的效果如下:

Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法【測(cè)試可用】

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專(zhuān)題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI