[matplotlib] 24. 画像

matplotlib

matplotlibでの画像の取扱方法

コード & 解説

モジュールのインポート

画像の読み込み

plt.imread(‘ファイル名’)で、カレントディレクトリにある画像を読み込む。ここでは↓の画像を用いる。

よみこんだ画像のサイズは、

のようになっており、800×800の位置にRGBの色情報が入っているので(800,800,3)となる。

画像の表示

plt.imshow(image)で画像が表示される。

画像の保存

plt.imsave(‘ロフォフォラ.jpg’, image)のように、imsave(‘ファイル名’, 保存したい画像ファイル)とすることで画像が保存できる。imsaveの場合、画像のみが保存され、枠線や目盛などは表示されない。

疑似カラーマップによる表示

RGBのRのデータのみをimshowに渡すと、疑似カラーマップによる表示となる。defaultはviridisであるため、下のようになる。

グレースケールによる表示

cmap=’Greys_r’とすることで、白黒画像となる。

カラーバーの表示

plt.colorbar()でカラーバーが表示される。

ヒストグラムの表示

plt.hist(img.ravel(), bins=256, range=(0.0, 256.0), fc=’lightgreen’)で画像のヒストグラムが作成できる。

コントラストを高める

右の画像は、im2 = grid[1].imshow(img, clim=(45, 180))とヒストグラムの45から180の範囲でカラー設定をしているので、ハイコントラストな画像が得られる。

画像の補間

補間をわかりやすくするため、img.thumbnail((64, 64), Image.ANTIALIAS) で画像を粗くしている。
interpolation=”bilinear”のように、補間方法を指定することで滑らかに保管された画像が得られる。補間方法は、15種類ほどある。

Interpolations for imshow — Matplotlib 3.9.2 documentation

参考

https://matplotlib.org/tutorials/introductory/images.html#sphx-glr-tutorials-introductory-images-py
Interpolations for imshow — Matplotlib 3.9.2 documentation
ロフォフォラ - Wikipedia

コメント

  1. […] [matplotlibの使い方] 24. 画像 2019.03.182019.11.03 WindowsオフラインパソコンにcondaでPython環境構築 2019.06.072019.10.11 [SciPy] 1. Scipyのcurve_fitで最小2乗法近似、決定係数R2も求める […]

  2. […] [matplotlibの使い方] 24. 画像matplotlibでの画像の取扱方法sabopy.com2019.03.18 […]