画像の反転 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:左右反転
反転は行列をひっくり返すだけなので、処理も簡単です。
深層学習のデータ拡張にも使う技術なので、覚えて損はないです。
今回使用した画像:さなだのつけ麺
北千住駅の近くにあるつけ麺屋さんのつけ麺です。
ラーメン雑誌にも掲載されるような人気店のようですね。
私が閉店時間ギリギリに行った時も、多くのお客さんでにぎわっていました。
コメント
コメントを投稿