圖片銳利化
這篇文章會介紹使用 Python 的 Pillow 第三方函式庫,實作兩種將圖片銳利化的方法。
- 本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )
- 使用 Colab 操作需要連動 Google 雲端硬碟,請參考:連動 Google Drive
安裝 Pillow
輸入下列指令安裝 Pillow,根據個人環境使用 pip 或 pip3,如果使用 Colab 或 Anaconda Jupyter,已經內建 Pillow 函式庫。
!pip install Pillow
SHARPEN
載入 Pillow 的 Image 和 ImageFilter 模組,使用 Image.open 方法開啟圖片後,就能套用 filter 的 ImageFilter.SHARPEN 濾鏡,將圖片進行基本的銳利化。
import os
os.chdir('/content/drive/MyDrive/Colab Notebooks') # Colab 換路徑使用
from PIL import Image, ImageFilter
img = Image.open('oxxostudio.jpg') # 開啟圖片
output = img.filter(ImageFilter.SHARPEN) # 套用圖片銳利化
output.save('output.jpg') # 存檔
# output.show() # Colab 不支援直接顯示,如果使用本機環境會開啟圖片檢視器
如果要讓圖片非常銳利,可以使用 for 迴圈連續套用銳利化濾鏡。
import os
os.chdir('/content/drive/MyDrive/Colab Notebooks') # Colab 換路徑使用
from PIL import Image, ImageFilter
img = Image.open('oxxostudio.jpg')
for i in range(3):
img = img.filter(ImageFilter.SHARPEN)
img.save('output.jpg')
UnsharpMask
除了單純銳利化的方法,也可以使用 ImageFilter.UnsharpMask 濾鏡 ( 反銳利化 ),設定效果的的半徑、效果百分比 ( percent ) 以及臨界點 ( threshold ),就能進行不同程度的銳利化效果 ( 效果百分比設為負值,會出現模糊效果 )。
import os
os.chdir('/content/drive/MyDrive/Colab Notebooks') # Colab 換路徑使用
from PIL import Image, ImageFilter
img = Image.open('oxxostudio.jpg')
output = img.filter(ImageFilter.UnsharpMask(radius=5, percent=100, threshold=10)) # 套用 UnsharpMask
output.show()
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~