iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0

這篇文章會介紹使用 Python 的 Pillow 第三方函式庫,實作裁切與旋轉圖片的效果。

原文參考:裁切與旋轉圖片

Python 教學 - 裁切與旋轉圖片

安裝 Pillow

輸入下列指令安裝 Pillow,根據個人環境使用 pip 或 pip3,如果使用 Colab 或 Anaconda Jupyter,已經內建 Pillow 函式庫。

!pip install Pillow

裁切圖片

使用 Pillow Image 裡的 crop 方法,指定要裁切的範圍 ( 左上座標到右下座標 ),就能裁切圖片。

import os
os.chdir('/content/drive/MyDrive/Colab Notebooks')  # Colab 換路徑使用

from PIL import Image
img = Image.open('./oxxostudio.jpg')      # 開啟圖片
img_crop = img.crop((0,0,200,100))        # 裁切圖片
img_crop.save('./test.jpg')               # 存檔
# img_crop.show()  # Colab 不支援直接顯示,如果使用本機環境會開啟圖片檢視器

Python 教學 - 裁切與旋轉圖片

旋轉圖片

接著使用 Image 的 ratate 方法,指定要旋轉的角度 ( 逆時鐘方向為正 ),就能旋轉圖片,除了旋轉的角度,還能設定 expand 參數,expand 預設 0 表示旋轉後仍保持原本的長寬尺寸 ( 旋轉後會被裁切 ),設定 1 則會保留完整圖形 ( 旋轉後圖片的尺寸會改變 )。

import os
os.chdir('/content/drive/MyDrive/Colab Notebooks')  # Colab 換路徑使用

from PIL import Image
img = Image.open('./oxxostudio.jpg')
img_r1 = img.rotate(30)             # 旋轉 30 度
img_r2 = img.rotate(30,expand=1)    # 旋轉 30 度,expand 設定 1
img_r1.save('./test1.jpg')
img_r2.save('./test2.jpg')

Python 教學 - 裁切與旋轉圖片

小結

一但能夠透過 Python 進行圖片的才切與旋轉,就可以在不需要開啟影像處理軟體的狀態下,快速調整圖片,如果搭配 glob 函式庫,更是可以進行批次調整,相當方便喔!

更多 Python 教學

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,我已經寫了超過 400 篇 Python 的教學,有興趣可以參考下方連結呦~ ^_^


上一篇
( Day 4 ) 調整圖片亮度、對比、飽和度和銳利度
下一篇
( Day 6 ) 拼接多張圖片
系列文
學 Python 到底可以幹麻勒?41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言