画像の反転 cv2.flip()

画像を反転する方法を紹介します。
開発環境はjupyter notebook、言語はpythonです。
今回使用した画像・コード一式はgoogle driveにも保存しておりますので、必要に応じてお使いください。
作成したコード
#モジュールのインポート import cv2 import glob import os from PIL import Image #画像の読み込み filename = glob.glob("*.jpg") for n in range(len(filename)): img = cv2.imread(filename[n]) img_horizontalflip = cv2.flip(img,1) #左右反転 img_verticalflip = cv2.flip(img,0) #上下反転 img_horizontal_vertical = cv2.flip(img,-1) #上下左右反転 cv2.imwrite(os.path.split(filename[n])[1][:-4]+"_horizontal.png",img_horizontalflip) cv2.imwrite(os.path.split(filename[n])[1][:-4]+"_vertical.png",img_verticalflip) cv2.imwrite(os.path.split(filename[n])[1][:-4]+"_horizontal_vertical.png",img_horizontal_vertical)
処理の解説
反転はcv2.imreadで読み込んだ画像に対してcv2.flip()と書くだけで実施できます。反転する向きは、第二引数の値によって決めることができます。
第二引数 < 0:上下左右反転
第二引数 = 0:上下反転
第二引数 > 0:左右反転
反転は行列をひっくり返すだけなので、処理も簡単です。
深層学習のデータ拡張にも使う技術なので、覚えて損はないです。
今回使用した画像:さなだのつけ麺
北千住駅の近くにあるつけ麺屋さんのつけ麺です。
ラーメン雑誌にも掲載されるような人気店のようですね。
私が閉店時間ギリギリに行った時も、多くのお客さんでにぎわっていました。
コメント
コメントを投稿