opencv utilise cv2.getRotationMatrix2D () pour réaliser la rotation de l'image

Opencv Uses Cv2 Getrotationmatrix2d Achieve Image Rotation



M=cv2.getRotationMatrix2D(center, angle, scale)

La fonction a trois paramètres d'entrée:

centre: centre de rotation de l'image
angle: angle de rotation
échelle: l'échelle de l'image pivotée par rapport à l'original
M: matrice de rotation calculée



from matplotlib import pyplot as plt import cv2 import numpy as np img = cv2.imread('aier.jpg') rows,cols = img.shape[:2] # The first parameter rotates the center, the second parameter rotates the angle, the third parameter: the scaling ratio, generates a 2*3 matrix M = cv2.getRotationMatrix2D((cols/2,rows/2),90,1) M1 = cv2.getRotationMatrix2D((cols/2,rows/2),180,1) M2 = cv2.getRotationMatrix2D((cols/2,rows/2),60,1) print(M) ''' [[ 6.123234e-17 1.000000e+00 1.500000e+02] [-1.000000e+00 6.123234e-17 6.500000e+02]] ''' # The third parameter: the size of the transformed image img_tra = cv2.warpAffine(img,M,(cols,rows)) img_tra1 = cv2.warpAffine(img,M1,(cols,rows)) img_tra2 = cv2.warpAffine(img,M2,(cols,rows), borderValue=(155, 100, 155)) plt.figure(figsize=(8,8)) plt.subplot(221) plt.imshow(img[:,:,::-1]) plt.subplot(222) plt.imshow(img_tra[:,:,::-1]) plt.subplot(223) plt.imshow(img_tra1[:,:,::-1]) plt.subplot(224) plt.imshow(img_tra2[:,:,::-1])

image