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
コメント
[…] [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 […]