用python編寫(xiě)一個(gè)圖片拼接工具
前言
故事要從上面這張表情包開(kāi)始講起,看到這張表情包之后,我突發(fā)奇想,覺(jué)得可以將室友上班摸魚(yú)的照片拼接起來(lái),做成表情包叫他起床 激勵(lì)他學(xué)習(xí)?。?!于是我馬上行動(dòng)起來(lái),用 pillow
庫(kù)隨便寫(xiě)寫(xiě)僅供娛樂(lè)!大佬勿噴!
為了保護(hù)室友隱私,將照片用小藍(lán)代替!
代碼展示
這里寫(xiě)了兩種拼接方式,可以根據(jù)圖像比例自行調(diào)整。
又是不務(wù)正業(yè)的一天。。。
from PIL import Image import matplotlib.pyplot as plt def SpliceImage(img_1, img_2, save_img, mode=None): ''' 把兩張圖片左右拼接 img_1 : 輸入圖片1(左)的路徑 img_2 : 輸入圖片2(右)的路徑 save_img: 保存圖片的路徑 mode : 默認(rèn)為 None ,寬度保持不變,高度取最大值 可設(shè)為'mean',寬度與高度均取兩張圖片的平均值 ''' # -----get width and height of the Images----- # img1 = Image.open(img_1) img2 = Image.open(img_2) w1, h1 = img1.size w2, h2 = img2.size print("原始圖片1大?。簕} x {}" .format(w1,h1)) print("原始圖片2大小:{} x {}" .format(w2,h2)) # -----resize image with high-quality----- # if mode == 'mean': width = int((w1 + w2) / 2) height = int((h1 + h2) / 2) w1 = int(width/2) w2 = int(width/2) else: width = w1 + w2 height = max(h1,h2) img1 = img1.resize((w1, height), Image.ANTIALIAS) img2 = img2.resize((w2, height), Image.ANTIALIAS) # -----create a new image-----# img = Image.new("RGB", (width, height), (0,0,0)) img.paste(img1, (0,0)) img.paste(img2, (w1,0)) img.save(save_img) print("輸出圖片大?。簕} x {}" .format(width,height)) return img if __name__ == '__main__': img_1 = r'.\img\sleeper.PNG' img_2 = r'.\img\dog.PNG' save_img = r'.\img\getup.jpg' try: img = SpliceImage(img_1, img_2, save_img, mode='mean') except: print('Image file error!') plt.imshow(img)
效果展示
針不戳!希望可以激勵(lì)室友努力學(xué)習(xí),不再偷懶!hhhhhh
總結(jié)
到此這篇關(guān)于用python編寫(xiě)一個(gè)圖片拼接工具的文章就介紹到這了,更多相關(guān)python圖片拼接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3中在Anaconda環(huán)境下安裝basemap包
今天小編就為大家分享一篇關(guān)于Python3中在Anaconda環(huán)境下安裝basemap包的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10Python面向?qū)ο蟪绦蛟O(shè)計(jì)OOP深入分析【構(gòu)造函數(shù),組合類(lèi),工具類(lèi)等】
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)OOP,較為詳細(xì)的深入分析了Python面向?qū)ο蟮臉?gòu)造函數(shù),組合類(lèi),工具類(lèi)等相關(guān)概念、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-01-01Python Matplotlib庫(kù)安裝與基本作圖示例
這篇文章主要介紹了Python Matplotlib庫(kù)安裝與基本作圖,簡(jiǎn)單分析了Python使用pip命令安裝Matplotlib庫(kù)及繪制三角函數(shù)曲線(xiàn)的相關(guān)操作技巧,需要的朋友可以參考下2019-01-01利用python實(shí)現(xiàn)凱撒密碼加解密功能
這篇文章主要介紹了利用python實(shí)現(xiàn)凱撒密碼加解密功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Python實(shí)現(xiàn)隨機(jī)生成手機(jī)號(hào)及正則驗(yàn)證手機(jī)號(hào)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)隨機(jī)生成手機(jī)號(hào)及正則驗(yàn)證手機(jī)號(hào)的方法,涉及Python基于random模塊的隨機(jī)數(shù)以及基于re模塊的正則驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下2018-04-04Python 基于 pygame 實(shí)現(xiàn)輪播圖動(dòng)畫(huà)效果
在Python中可以適應(yīng)第三方庫(kù)pygame來(lái)實(shí)現(xiàn)輪播圖動(dòng)畫(huà)的效果,使用pygame前需確保其已經(jīng)安裝,本文通過(guò)實(shí)例代碼介紹Python 基于 pygame 實(shí)現(xiàn)輪播圖動(dòng)畫(huà)效果,感興趣的朋友跟隨小編一起看看吧2024-03-03python 實(shí)現(xiàn)從高分辨圖像上摳取圖像塊
今天小編就為大家分享一篇python 實(shí)現(xiàn)從高分辨圖像上摳取圖像塊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01