画像の読み込み・保存【OpenCV】

画像の読み込み

画像ファイルの読み込みはimread関数を用います。filenameに画像のパスを指定して、flagにImreadModes列挙型で読み込みのオプションを指定します。

以下の例では D:\BioTech-Lab\lena.jpg という画像ファイルを読み込んでみます。

lena.jpg

BGRカラー画像として画像を読み込む

import cv2
img = cv2.imread(r'D:\BioTech-Lab\lena.jpg')
print(img.shape)    # -> (512, 512, 3)

flagに何も指定しない場合はデフォルトでBGRカラー画像として読み込みまれます。
読み込まれたimgの形状からカラーチャネルが3つあることが分かります。

なお、もともとグレースケールの画像もflagに何もしない場合は強制的にBGRカラー画像として読み込まれてしまいます。

グレースケール画像として画像を読み込む

import cv2
img = cv2.imread(r'D:\BioTech-Lab\lena.jpg', cv2.IMREAD_GRAYSCALE)
print(img.shape)    # -> (512, 512)

flagにcv2.IMREAD_GRAYSCALEを指定することでグレースケール画像として読み込みまれます。ImreadModes列挙型のcv2.IMREAD_GRAYSCALEは内部的には数値の0として処理されるので、直接次のように記載しても構いません。

img = cv2.imread(r'D:\BioTech-Lab\lena.jpg', 0)

読み込まれたimgの形状はY軸とX軸しかないので、カラーチャネルが1つのグレースケールであることが分かります。

画像の保存

画像ファイルの保存にはimwrite関数を用います。

import cv2
cv2.imwrite(r'D:\BioTech-Lab\img.tif', img)

引数paramsにパラメーターを指定することで画像の保存条件を細かく指定することができます。例えば、画像imgをJPEGファイルで画像品質10で保存する場合は次のようになります。

import cv2
cv2.imwrite(r'D:\BioTech-Lab\img.jpg', img, (cv2.IMWRITE_JPEG_QUALITY, 10))

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)