ここでは、Pillowを用いた画像のトリミング方法について解説しています。
この記事の対象
行ったこと
「【Python応用】指定したサイトの画面をキャプチャする方法」のキャプチャした画像をトリミングして再保存してみました。
Image.cropの型
Image.crop(box=None)
Pillowでトリミングする際は、「crop」メソッドを使用する必要があります。引数は「left,upper,right,lower」になります。
プログラム
from PIL import Image
from selenium import webdriver
#1---urlの指定
url = "https://music.line.me/webapp/today"
#2---ドライバを得る
browser = webdriver.PhantomJS()
#3---ロードされるまでの待機時間
browser.implicitly_wait(3)
#4---URLを読み込む
browser.get(url)
#5---キャプチャして保存
browser.save_screenshot("cap_site.png")
#6---ブラウザを終了
browser.quit()
#7---画像を開く
img = Image.open('cap_site.png')
#8---トリミング
img_tri = img.crop((60, 20, 400, 200))
#9---画像を保存
img_tri.save('re_cap_site.png')
上記がプログラムになります。
ここでは、1~6の解説はしませんので、詳細はこちらを参照して下さい。
それでは解説していきます。
#7---画像を開く
img = Image.open('cap_site.png')
7の部分では、キャプチャした画像を開いています。
#8---トリミング
img_tri = img.crop((60, 20, 400, 200))
8の部分では、トリミングのサイズを指定しています。引数は順に「left, upper, right, lower」になります。
#9---画像を保存
img_tri.save('re_cap_site.png')
最後に保存して終了です。
結果
左側はトリミングしなかった場合のキャプチャ、右側はトリミングした結果になります。
キャプチャした画像をトリミングできました。