以下の内容はhttps://tat-pytone.hatenablog.com/entry/2019/02/26/213449より取得しました。


画像を反転する

やること
  • ファイル名を指定して画像ファイル読み出す
  • 画像を反転する
  • 反転した画像を別ウィンドウで表示する
  • キー入力で表示用ウィンドウを破棄し終了
使った関数
  • cv2.imread : 画像ファイルの読み出し
  • cv2.flip : 画像の反転
  • cv2.imshow : 画像を別ウィンドウに表示する
環境
  • windows10 home
  • Anaconda 3/ jupyter notebook 5.6.0
  • Python 3.7.0
  • OpenCV 4.0.0
準備

画像ファイルはフリー写真素材ぱくたそからダウンロードさせていただき、"cat.jpg"というファイル名で、jupyter notebookファイル(***.ipynb)と同じディレクトリに保存しました。

f:id:T_A_T:20190225222801j:plain
元画像

コード
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() #ウインドウを閉じる

実行結果

別ウィンドウが開き、左右反転した画像が表示されます

f:id:T_A_T:20190226211919p:plain
左右反転した画像

上の例では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() #ウインドウを閉じる
実行結果

f:id:T_A_T:20190226212427p:plain
上下反転した画像

また、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() #ウインドウを閉じる

実行結果

f:id:T_A_T:20190226213124p:plain
上下左右反転した画像

ブログランキングに参加しています

にほんブログ村 IT技術ブログへ
にほんブログ村




以上の内容はhttps://tat-pytone.hatenablog.com/entry/2019/02/26/213449より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14