画像を反転する
やること
- ファイル名を指定して画像ファイル読み出す
- 画像を反転する
- 反転した画像を別ウィンドウで表示する
- キー入力で表示用ウィンドウを破棄し終了
使った関数
- cv2.imread : 画像ファイルの読み出し
- cv2.flip : 画像の反転
- cv2.imshow : 画像を別ウィンドウに表示する
環境
準備
画像ファイルはフリー写真素材ぱくたそからダウンロードさせていただき、"cat.jpg"というファイル名で、jupyter notebookファイル(***.ipynb)と同じディレクトリに保存しました。
コード
import cv2 #OpenCVのインポート fname = "cat.jpg" #開く画像ファイル名 img = cv2.imread(fname) #画像を読み出しオブジェクトimgに代入 img_flip_holizontal = cv2.flip(img, 1) #オブジェクトimgを左右反転しオブジェクトimg_flip_holizontalに代入 cv2.imshow("flip_holizontal",img_flip_holizontal) #別ウィンドウを開き(ウィンドウ名 "flip_holizontal")オブジェクトimg_flip_holizontalを表示 cv2.waitKey(0) #キー入力待ち cv2.destroyAllWindows() #ウインドウを閉じる
実行結果
別ウィンドウが開き、左右反転した画像が表示されます
上の例ではcv2.flipの第二引数を1とすることで左右反転しましたが、第二引数を0にすると上下反転します。
コード
import cv2 #OpenCVのインポート fname = "cat.jpg" #開く画像ファイル名 img = cv2.imread(fname) #画像を読み出しオブジェクトimgに代入 img_flip_vertical = cv2.flip(img,0) #オブジェクトimgを左右反転しオブジェクトimg_flip_verticalに代入 cv2.imshow("flip_vertical",img_flip_vertical) #別ウィンドウを開き(ウィンドウ名 "flip_vertical")オブジェクトimg_flip_verticalを表示 cv2.waitKey(0) #キー入力待ち cv2.destroyAllWindows() #ウインドウを閉じる
実行結果
また、cv2.flipの第二引数を-1にすると上下左右反転します。
コード
import cv2 #OpenCVのインポート fname = "cat.jpg" #開く画像ファイル名 img = cv2.imread(fname) #画像を読み出しオブジェクトimgに代入 img_flip_hv = cv2.flip(img,-1) #オブジェクトimgを上下左右反転しオブジェクトimg_flip_hvに代入 cv2.imshow("flip_hv",img_flip_hv) #別ウィンドウを開き(ウィンドウ名 "flip_hv")オブジェクトimg_flip_hvを表示 cv2.waitKey(0) #キー入力待ち cv2.destroyAllWindows() #ウインドウを閉じる