スキルUPの道しるべ

本サイトはプロモーションを含みます
上に戻る

【Python&OpenCV】画像の回転方法を初心者向け&例付きでわかりやすく解説!

Pythonは画像処理に非常に優れたライブラリが豊富に揃っており、その中でも特に強力なのがOpenCVです。OpenCVは画像の読み込みや加工、保存など、さまざまな処理を簡単に実行できるため、初心者から上級者まで幅広く使用されています。

その中でも本記事では、PythonOpenCVを使って画像を回転させる方法について見ていきます。

OpenCVのインストール

まずは、OpenCVをインストールしましょう。以下のコマンドをターミナルやコマンドプロンプトに入力してください。

pip install opencv-python

このコマンドで、PythonOpenCVライブラリを追加することができます。

OpenCVによる画像処理入門』で基礎の確認から応用した使い方まで学ぶことができます。本記事とあわせて、ぜひ、チェックしてください。

画像を読み込む

次に、画像を読み込む方法について説明します。今回は例として、"sample.png"という名前の画像を使用します。

sample.png

コード:

import cv2

# 画像を読み込む
image = cv2.imread('sample.png')

# 画像を表示する
cv2.imshow('Original Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

上記のコードでは、OpenCVimread関数を使って画像を読み込み、imshow関数でウィンドウに表示しています。waitKey(0)はキー入力を待ち、destroyAllWindowsでウィンドウを閉じます。

実行例(sample.png):

画像を90度回転させる

次に、画像を90度回転させる方法を紹介します。回転にはrotate関数を使用します。

コード:

import cv2

# 画像を読み込む
image = cv2.imread('sample.png')

# 画像を90度時計回りに回転させる
rotated_image = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)

# 回転した画像を表示する
cv2.imshow('Rotated Image 90', rotated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

このコードでは、cv2.ROTATE_90_CLOCKWISEを指定することで画像を時計回りに90度回転させています。同様に、cv2.ROTATE_90_COUNTERCLOCKWISEで反時計回りに90度回転させることもできます。

実行例(sample.png):

任意の角度で画像を回転させる

次に、任意の角度で画像を回転させる方法を解説します。この場合、少し複雑になりますが、getRotationMatrix2DwarpAffineを組み合わせて使用します。

import cv2

# 画像を読み込む
image = cv2.imread('sample.png')

# 回転角度(度数法)
angle = 45

# 画像の中心を計算
(h, w) = image.shape[:2]
center = (w // 2, h // 2)

# 回転行列を取得
M = cv2.getRotationMatrix2D(center, angle, 1.0)

# 画像を回転
rotated_image = cv2.warpAffine(image, M, (w, h))

# 回転した画像を表示
cv2.imshow('Rotated Image 45', rotated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

このコードでは、45度の角度で画像を回転させています。getRotationMatrix2D関数を使って回転行列を取得し、warpAffineでその行列を適用しています。この方法を使えば、自由な角度で画像を回転させることができます。

実行例:

回転した画像を保存する

最後に、回転させた画像を保存する方法を紹介します。回転した画像を別名で保存したい場合は、imwrite関数を使用します。

コード:

# 回転した画像を保存
cv2.imwrite('rotated_sample.png', rotated_image)

このコードを実行すると、"rotated_sample.png"という名前で回転した画像が保存されます。

関連・おすすめ書籍

まとめ

本記事では、PythonOpenCVを使って画像を回転させる方法について解説しました。90度の固定回転から、任意の角度での回転まで、さまざまなケースに対応できることが分かります。

このように、OpenCVは非常に強力なライブラリであり、これを使いこなすことで画像処理の幅が大きく広がります。ぜひ、今回の内容を参考にして、さらなる画像処理に挑戦してみてください。

▼必見(ChatGPTを活用!おすすめAI副業)▼

今なら5000円分の特典あり!! dodgsonblog.com