【Python × OpenCV4】画像を回転する。

はじめに


画像処理エンジニア検定:エキスパートの学習用のメモ。

使用環境


● Anaconda
● Spyder4
● macOS High Sierra 10.13.6
● Python
● OpenCV

画像の回転


OpenCVで画像を回転するには、下記の関数を使用します。

cv2.warpAffine(img, affinTransition, (width, height)) # 画像を回転する。

組んだプログラムは、下記になります。

import cv2

imageName = input("画像名を入力して下さい。\n")

img = cv2.imread("./img/" + imageName)

height = img.shape[0]
width = img.shape[1]

center = (int(width/2), int(height/2))
angle = float(input("angleを入力。\n")) 
scale = float(input("scaleを入力。\n"))

def rotate(center, angle, scale):
    affinTransition = cv2.getRotationMatrix2D(center, angle, scale)
    dst = cv2.warpAffine(img, affinTransition, (width, height))
    outputImage = input("出力画像名を入力して下さい。\n")
    cv2.imwrite("./img/" + outputImage, dst)
    
rotate(center, angle, scale)

実行結果は、下記になります。

図1.入力画像
図2.angle = 33.0, scale = 1.0
図3.angle = 45.0, scale = 2.3
図4.angle = 45.0, scale = 1.0
図5.angle = 66.0, scale = 1.0

angleが角度、scaleが倍率になります。

おわりに


cv2.warpAffine()を使用して画像を回転することが出来ました。

参考文献



この記事が気に入ったらサポートをしてみませんか?