您好,登錄后才能下訂單哦!
本文實(shí)例講述了Python圖像處理實(shí)現(xiàn)兩幅圖像合成一幅圖像的方法。分享給大家供大家參考,具體如下:
將兩幅圖像合成一幅圖像,是圖像處理中常用的一種操作,python圖像處理庫(kù)PIL中提供了多種種將兩幅圖像合成一幅圖像的接口。
下面我們通過(guò)不同的方式,將兩圖合并成一幅圖像。
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é)果如下:
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)似。
合并后的效果如下:
更多關(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ì)有所幫助。
免責(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)容。