画像の編集
Pythonの画像処理用ライブラリである PIL (Python Imaging Library) を用いて、各種画像データの読み込み・操作・保存を行うことができる。PIL をインストールするには、こちらからデータをダウンロードし、以下のコマンドを実行する。
sudo python setup.py install
基本的には、Image モジュールをimportして種々の操作を行う。
import Image d1 = Image.open('RIMG0828.JPG') # 画像の読み込み print d1.format, d1.size, d1.mode # メタ情報の表示 d1.show() # 画像の表示 d1.save('d1.jpg') # 画像の保存 d2 = d1.rotate(-90) # 画像の回転 print d2.size # sizeは(幅、高さ) d2.show() d2.save('d2.jpg') d3 = d1.crop((824, 368, 2824, 2368)) # 画像の切り出し、切り出し範囲の指定は(左、上、右、下) print d3.size d3.show() d3.save('d3.jpg') d4 = d3.resize((500, 500)) # 画像のサイズ変更、サイズ指定は(幅、高さ) print d4.size d4.save('d4.jpg') # 画像の保存
JPEG (3648, 2736) RGB (2736, 3648) (2000, 2000) (500, 500)
配列データとしての画像の取り扱い
Pythonのグラフ描画用ライブラリである Matplotlib では、前述した PIL を利用して〜〜〜。
import matplotlib.pyplot as plt d4.save('d4.png') img = plt.imread('d4.png') # 画像の読み込み(PNGにしか対応していないようなので事前にファイル形式を変更する) print img.shape # shapeは(高さ、幅、色次元) plt.imshow(img) # 画像の描画 plt.show() # 描画結果の表示 img_r = img[:,:,0] # 赤(R)成分の抽出 img_g = img[:,:,1] # 緑(G)成分の抽出 img_b = img[:,:,2] # 青(B)成分の抽出 print img_r.shape, img_g.shape, img_b.shape plt.subplot(131) # 複数の描画(1行3列の1番目に描画) plt.imshow(img_r) plt.subplot(132) # 複数の描画(1行3列の2番目に描画) plt.imshow(img_g) plt.subplot(133) # 複数の描画(1行3列の3番目に描画) plt.imshow(img_b) plt.show() img_part = img[190:240, 230:280, :] # 特定領域の切り出し(行方向:画像のy軸、列方向:画像のx軸) plt.imshow(img_part) plt.show()
(500, 500, 3) (500, 500) (500, 500) (500, 500)
コメントを残す