OpenCVを使用してPythonで画像を水平または垂直に反転する

OpenCVモジュールを使用してPythonで画像を水平または垂直に反転してみます。

OpenCVモジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

Pythonバージョン

今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)

■画像を用意する

OpenCVモジュールを使用してPythonで画像を水平または垂直に反転する前に、水平または垂直に反転させる画像を用意します。

今回は「sky_sample.jpg」という雲の画像を用意しました。保存されている場所は「C:\Users\user\test(フォルダパス)」です。

■画像を水平方向に反転する

画像の用意ができましたので、まずは画像を水平方向に反転するスクリプトを書いてみます。

■コード

import cv2

image = cv2.imread(r'C:\Users\user\test\sky_sample.jpg')

fliphorizontally = cv2.flip(image, 1)

cv2.imshow('sky',fliphorizontally)
cv2.waitKey(0)
cv2.destroyAllWindows()

インポートで、cv2(OpenCV)モジュールを呼び出して、imread()関数で今回用意した画像を読み込みます。fliphorizontallyという変数を用意し、画像を水平方向に反転するために、flip()関数を使います。()の中では、第1の値には、水平方向に反転する画像を指定します。第2の値には、水平方向に反転させるために「1」と指定します。

cv2.imshow()関数で、第2の値に、水平方向に反転させた画像(fliphorizontally)を指定し、画像を表示させてみます。

■実行

今回書いたスクリプトを、「flip_image_horizontally.py」という名前で保存し、コマンドプロンプトから実行してみます。

元画像(今回用意した画像)

水平方向に反転させた画像

実行してみると、今回用意した画像を、水平方向に反転し、表示させることができました。

■画像を垂直方向に反転する

では、次に今回用意した画像を水平方向に反転するスクリプトを書いてみます。

■コード

import cv2

image=cv2.imread(r'C:\Users\user\test\sky_sample.jpg')

flipvertically = cv2.flip(image, 0)

cv2.imshow('sky',flipvertically)
cv2.waitKey(0)
cv2.destroyAllWindows()

インポートで、cv2(OpenCV)モジュールを呼び出して、imread()関数で今回用意した画像を読み込み、flipverticallyという変数を用意。画像を垂直方向に反転するために、flip()関数を用意します。第1の値に今回用意した画像を指定し、第2の値に画像を垂直方向に反転するために「0」と記述します。

cv2.imshow()関数で、第2の値に、垂直方向に反転させた画像(flipvertically)を指定し、画像を表示させてみます。

■実行

今回書いたスクリプトを、「flip_image_vertically.py」という名前で保存し、コマンドプロンプトから実行してみます。

元画像(今回用意した画像)

垂直方向に反転させた画像

実行してみると、今回用意した画像を、垂直方向に反転し、表示させることができました。

■画像を水平方向および垂直方向に反転する

次に今回用意した画像を水平方向および垂直方向に反転するスクリプトを書いてみます。

■コード

import cv2

image= cv2.imread(r'C:\Users\user\test\sky_sample.jpg')

fliphorizontallyvertically= cv2.flip(image, -1)

cv2.imshow('sky',fliphorizontallyvertically)
cv2.waitKey(0)
cv2.destroyAllWindows()

インポートで、cv2(OpenCV)モジュールを呼び出して、imread()関数で今回用意した画像を読み込み、fliphorizontallyverticallyという変数を用意。水平方向および垂直方向に反転するために、flip()関数を用意します。第1の値に今回用意した画像を指定し、第2の値に画像を水平方向および垂直方向に反転するために「-1」と記述します。

cv2.imshow()関数で、第2の値に、水平方向および垂直方向に反転させた画像(fliphorizontallyvertically)を指定し、画像を表示させてみます。

■実行

今回書いたスクリプトを、「flip_image_horizontally_vertically.py」という名前で保存し、コマンドプロンプトから実行してみます。

元画像(今回用意した画像)

水平方向および垂直方向に反転させた画像

実行してみると、今回用意した画像を、水平方向および垂直方向に反転し、表示させることができました。

コメント

タイトルとURLをコピーしました