matplotlibでの画像の取扱方法
コード & 解説
モジュールのインポート
画像の読み込み
plt.imread(‘ファイル名’)で、カレントディレクトリにある画像を読み込む。ここでは↓の画像を用いる。
![](https://sabopy.com/wp/wp-content/uploads/2019/03/c71a0cbfdc9642f403a8d2b8fda0dc43-500x500.jpeg)
よみこんだ画像のサイズは、
のようになっており、800×800の位置にRGBの色情報が入っているので(800,800,3)となる。
画像の表示
plt.imshow(image)で画像が表示される。
画像の保存
plt.imsave(‘ロフォフォラ.jpg’, image)のように、imsave(‘ファイル名’, 保存したい画像ファイル)とすることで画像が保存できる。imsaveの場合、画像のみが保存され、枠線や目盛などは表示されない。
疑似カラーマップによる表示
RGBのRのデータのみをimshowに渡すと、疑似カラーマップによる表示となる。defaultはviridisであるため、下のようになる。
![](https://sabopy.com/wp/wp-content/uploads/2019/03/f551a233183124b1e7ecf04cb0f3f7b9-800x533.jpg)
グレースケールによる表示
cmap=’Greys_r’とすることで、白黒画像となる。
![](https://sabopy.com/wp/wp-content/uploads/2019/03/fa928f068a9a06207372bc4c0a23d2da-800x533.jpg)
カラーバーの表示
plt.colorbar()でカラーバーが表示される。
![](https://sabopy.com/wp/wp-content/uploads/2019/03/2602baebf39f623cc9736f3ea73f050b-800x533.jpg)
ヒストグラムの表示
plt.hist(img.ravel(), bins=256, range=(0.0, 256.0), fc=’lightgreen’)で画像のヒストグラムが作成できる。
![](https://sabopy.com/wp/wp-content/uploads/2019/03/f5853992bc9fa1dcc4066133b0148a8e-800x533.jpg)
コントラストを高める
![](https://sabopy.com/wp/wp-content/uploads/2019/03/e6440b3ab9eb8101419c7ce5bbfc34da-800x533.jpg)
右の画像は、im2 = grid[1].imshow(img, clim=(45, 180))とヒストグラムの45から180の範囲でカラー設定をしているので、ハイコントラストな画像が得られる。
画像の補間
![](https://sabopy.com/wp/wp-content/uploads/2019/03/bc4c1a1aca4fde2e0b00fadd3ddec00c-800x533.jpg)
補間をわかりやすくするため、img.thumbnail((64, 64), Image.ANTIALIAS) で画像を粗くしている。
interpolation=”bilinear”のように、補間方法を指定することで滑らかに保管された画像が得られる。補間方法は、15種類ほどある。
https://matplotlib.org/gallery/images_contours_and_fields/interpolation_methods.html
参考
https://matplotlib.org/tutorials/introductory/images.html#sphx-glr-tutorials-introductory-images-py
https://matplotlib.org/gallery/images_contours_and_fields/interpolation_methods.html
![](https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Lophophora_williamsii_ies.jpg/640px-Lophophora_williamsii_ies.jpg)
ロフォフォラ - Wikipedia
コメント
[…] [matplotlibの使い方] 24. 画像 2019.03.182019.11.03 WindowsオフラインパソコンにcondaでPython環境構築 2019.06.072019.10.11 [SciPy] 1. Scipyのcurve_fitで最小2乗法近似、決定係数R2も求める […]
[…] [matplotlibの使い方] 24. 画像matplotlibでの画像の取扱方法sabopy.com2019.03.18 […]