Pythonで画像を読み込む

Pythonで画像を読み込む方法について紹介します。

画像の読み込みには、PillowやOpenCVを用いることが多いです。
画像を読み込んで様々な処理をする場合はOpenCVを用いる方が便利ですが
画像を読みこむ程度であれば、Pillowで十分だと思います。

今回はPillowとOpenCVを使った画像の読み込み方、さらにGoogle ColaboratoryでOpenCVを用いる方法についても紹介します。


Pillowを使って画像を読み込む

Pillowのインストール

pip install pillow

上記のコードを実行してPillowをインストールします。

Anacondaをお使いの場合は最初からインストールされています。

画像の用意

今回読み込む画像は以下の通りです。


画像の読み込み

from PIL import Image

# 画像ファイルパス
filename = 'img.png'

# 画像の読み込み
img = Image.open(filename)
# 画像の表示
img.show()

上記のソースコードで画像を読み込み、表示させることができます。

Windowsの場合、ソースコードを実行すると上記のように表示されます。


OpenCVを使って画像を読み込む

OpenCVのインストール

pipの場合

pip install opencv-python

上記のコマンドを実行してOpenCVをインストールします。

Anacondaの場合

conda install --channel https://conda.anaconda.org/conda-forge opencv

上記のコマンドを実行してOpenCVをインストールします。
AnacondaでOpenCVをインストールする際は、仮想環境を作ってからインストールすることをオススメします。

画像の読み込み

import cv2

# 画像ファイルパス
filename = 'img.png'

# 画像の読み込み
img = cv2.imread(filename)
# 画像の表示
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

上記のソースコードで画像を読み込んで表示させることができます。
ちなみに画像を表示させる際の cv2.waitKey(0) は、何かしらのキーが入力されるまで待ち続ける処理で
何かしらのキーが押されると cv2.destroyAllWindows() が呼び出されて、画像の表示ウィンドウが閉じられます。

Windowsで表示するとこのように表示されます。


Google ColaboratoryでOpenCVを使って画像を読み込む

Google Colaboratoryの場合は最初からOpenCVがインストールされているため、インストール作業は不要ででOpenCVを使うことができます。

Google Colaboratoryでのファイル読み込みに関しては以下の記事をご覧ください。
Google Colaboratoryでファイルを読み込む方法

画像の読み込み

%matplotlib inline
import cv2
import matplotlib.pyplot as plt
 
 
# 画像ファイル名
filename = 'img.png'
 
# 画像読み込み
img = cv2.imread('img.png')
# BGR画像をRGBに変換
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 画像表示
plt.imshow(img_rgb)

上記のソースコードでOpenCVを使って画像を読み込み、画像を表示させることができます。

Google Colaboratoryの場合はcv2.imshowが使えないので、matplotlibを使って画像を表示させます。
また、matplotlibを使って画像を表示させる場合はcv2.cvtColor(img, cv2.COLOR_BGR2RGB)で読み込んだBGR画像をRGB画像に変換する必要があります。

ソースコードを実行すると上記のように表示されます。