用python編寫一個圖片拼接工具
前言
故事要從上面這張表情包開始講起,看到這張表情包之後,我突發奇想,覺得可以將室友上班摸魚的照片拼接起來,做成表情包叫他起床 激勵他學習!!!於是我馬上行動起來,用 pillow
庫隨便寫寫僅供娛樂!大佬勿噴!
為瞭保護室友隱私,將照片用小藍代替!
代碼展示
這裡寫瞭兩種拼接方式,可以根據圖像比例自行調整。
又是不務正業的一天。。。
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 : 默認為 None ,寬度保持不變,高度取最大值 可設為'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)
效果展示
針不戳!希望可以激勵室友努力學習,不再偷懶!hhhhhh
總結
到此這篇關於用python編寫一個圖片拼接工具的文章就介紹到這瞭,更多相關python圖片拼接內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 基於python使用Pillow做動態圖在圖中生成二維碼以及圖像處理
- python實現圖片九宮格分割的示例
- python批處理將圖片進行放大實例代碼
- python批量壓縮圖像的完整步驟
- Python圖像處理之圖片拼接和堆疊案例教程