本篇 ShengYu 將介紹如何使用 Python 讀取圖片並且將圖片貼在另一張圖片上,在做影像處理時有時會需要對圖片作剪下貼上的處理,接下來介紹怎麼使用 python 的 PIL 模組來作圖片貼上。
安裝 PIL
基本上新版本的 Python 應該都有內建 PIL,如果還未安裝 PIL 的話請參考這篇。
範例1:把 lena 的縮圖貼在 lena 圖片上
以下範例 ShengYu 是使用 Image.open() 讀取 lena.jpg 這張圖片,
Image.open() 會回傳一個 Image 物件,
然後我們使用先前介紹過的圖片縮圖,把它讀取進來,
接著來到本篇的重點使用 paste() 將縮圖貼在 (150, 50) 的位置上,
最後使用 show() 將這張圖片顯示出來,就可以看到結果囉!
1 | #!/usr/bin/env python3 |
結果如下圖所示:
範例2:把 crop 下的範圍貼在 lena 圖片上
這範例先使用 crop 裁剪一個範圍,
接著使用 paste() 將 crop 的範圍貼在 (150, 50) 的位置上,
最後使用 show() 將這張圖片顯示出來,就可以看到結果囉!1
2
3
4
5
6
7
8
9
10#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from PIL import Image
img = Image.open("lena.jpg")
print(img.size)
img2 = img.crop((0, 0, 300, 300))
img.paste(img2, (150, 50))
img.show()
結果如下圖所示:
範例3:把 crop 下的範圍作模糊化再貼在 lena 圖片上
這範例先使用 crop() 裁剪一個範圍,
然後使用先前介紹過的模糊化 filter() 將範圍模糊化,
接著使用 paste() 將 crop 的範圍貼在 (150, 50) 的位置上,
最後使用 show() 將這張圖片顯示出來,就可以看到結果囉!1
2
3
4
5
6
7
8
9
10
11#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from PIL import Image, ImageFilter
img = Image.open("lena.jpg")
print(img.size)
img2 = img.crop((0, 0, 300, 300))
img3 = img2.filter(ImageFilter.BLUR)
img.paste(img3, (150, 50))
img.show()
結果如下圖所示:
Image.paste 參數的詳細細節請參考這裡
相關主題
Python 旋轉圖片 rotate
Python 縮放圖片 resize
Python 裁切裁剪圖片 crop
Python 圖片模糊化 blur
Python 在圖片上繪製文字