ユーザ用ツール

サイト用ツール


pilで画像切り抜き

PILで画像切り抜きの使い方

機械学習で画像を切り抜きたいときがある。そんなときは、以下のようにPIL(Pillow)を用いると便利。Jupyter Notebookで可視化するためにmatplotlibとnumpyも利用する。

開発環境

Windows8.1

Python 3.6.1

Anaconda 4.4.0 (64-bit)

Tensorflow 1.2.1

Keras 2.0.6

(1)PILのインストール

PIL(pillow)は、あらかじめ、Anacondaに入っているが、他の環境で、import PILでエラーが出る場合は、コマンドプロンプトで、

pip install pillow

でPILをインストールすることができる。

(2)画像の用意

こちら(外部リンク)から、1280×856の画像をダウンロードして、ipynbと同じフォルダに、greece.jpgという名前で保存。

この画像の右上の部分だけを切り抜いて、jupyter notebook上に表示しつつ、切り抜いた画像をフォルダにも新たに保存したい!

(3)画像の切り抜きと保存

jupyter notebookで以下のコードをコピペして、Shift+Enter

# coding:utf-8
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np

# Jupyterでインライン表示するための宣言
%matplotlib inline

# 画像の読み込み
img = Image.open("./greece.jpg")

# 画像をarrayに変換
im_list = np.asarray(img)
#貼り付け
plt.imshow(im_list)
#表示
print("./greece .jpg")
print(img.size)
plt.show()

# 画像の切り抜き(PIL)
width = img.size[0]
height = img.size[1]
img2 = img.crop(
    (
        width -560,
        0,
        width - 50,
        height - 300
    )
)
img2.save("img2.jpg")

#画像をarrayに変換
im_list = np.asarray(img2)
#貼り付け
plt.imshow(im_list)
#表示
print("img2.jpg")
print(img2.size)
plt.show()

これにより、元画像greece.jpgの右上の部分の切り抜き画像が、greece.jpgと同じフォルダに、img2.jpgという名前で保存される。また、その結果も、jupyter notebookで見ながら、切り抜き位置を簡単に調整できる。

参考

http://qiita.com/ukwksk/items/483d1b9e525667b77187

python3系でのPython Image Libraryの使用方法

http://www.mwsoft.jp/programming/computer_vision_with_python/1_1_pil.html

Pillow(Python Imaging Library)のインストールと簡単なサンプルコード

http://python-remrin.hatenadiary.jp/entry/2017/05/20/181211

20170520 PILの使い方(1)

http://matthiaseisen.com/pp/patterns/p0202/

Crop Images with PIL/Pillow

画像の切り抜きは、crop

thumbnailは、破壊的、元画像がなくなるので、あらかじめコピーを作っておいたほうが良い

resize

http://qiita.com/zaburo/items/5637b424c655b136527a

Matplotlibで画像を表示
zaburo
2015年12月27日に投稿

pilで画像切り抜き.txt · 最終更新: 2018/10/07 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki