La función cv2.getRotationMatrix2D() se usa para hacer la array de transformación M que se usará para rotar una imagen.
Sintaxis:
cv2.getRotationMatrix2D(centro, ángulo, escala)
Parámetros:
- centro: Centro de rotación
- ángulo(θ): Ángulo de Rotación. El ángulo es positivo para el sentido contrario a las agujas del reloj y negativo para el sentido de las agujas del reloj.
- escala: factor de escala que escala la imagen
Retorno: Array de rotación 2×3 M
METRO =
dónde,
Este es un tipo de transformación afín. Una transformación afín es una transformación que conserva líneas y paralelismo. Estas arrays de transformación son tomadas por la función warpaffine() como parámetro y se devolverá la imagen girada.
Imagen utilizada:
Ejemplo 1:
Python3
import cv2 # Reading the image image = cv2.imread('image.jpeg') # Extracting height and width from # image shape height, width = image.shape[:2] # get the center coordinates of the # image to create the 2D rotation # matrix center = (width/2, height/2) # using cv2.getRotationMatrix2D() # to get the rotation matrix rotate_matrix = cv2.getRotationMatrix2D(center=center, angle=90, scale=1) # rotate the image using cv2.warpAffine # 90 degree anticlockwise rotated_image = cv2.warpAffine( src=image, M=rotate_matrix, dsize=(width, height)) cv2.imshow("rotated image:", rotated_image) cv2.imwrite('rotated_image.jpg', rotated_image)
Producción-
Ejemplo 2:
Python3
import cv2 # Reading the image image = cv2.imread('image.jpeg') # Extracting height and width from # image shape height, width = image.shape[:2] # get the center coordinates of the # image to create the 2D rotation matrix center = (width/2, height/2) # using cv2.getRotationMatrix2D() to get # the rotation matrix rotate_matrix = cv2.getRotationMatrix2D(center=center, angle=-90, scale=1) # rotate the image using cv2.warpAffine 90 # degree clockwise rotated_image = cv2.warpAffine( src=image, M=rotate_matrix, dsize=(width, height)) cv2.imshow("rotated image:",rotated_image) cv2.imwrite('rotated_image.jpg', rotated_image)
Producción-
Python3
import cv2 # Reading the image image = cv2.imread('image.jpeg') # Extracting height and width from image shape height, width = image.shape[:2] # get the center coordinates of the image to # create the 2D rotation matrix center = (width/2, height/2) # using cv2.getRotationMatrix2D() to get # the rotation matrix rotate_matrix = cv2.getRotationMatrix2D(center=center, angle=180, scale=1) # rotate the image using cv2.warpAffine 180 # degree anticlockwise rotated_image = cv2.warpAffine( src=image, M=rotate_matrix, dsize=(width, height)) cv2.imshow("rotated image:", rotated_image) cv2.imwrite('rotated_image.jpg', rotated_image)
Producción-
Ejemplo 4:
Python3
import cv2 # Reading the image image = cv2.imread('image.jpeg') # Extracting height and width from image shape height, width = image.shape[:2] # get the center coordinates of the image to # create the 2D rotation matrix center = (width/2, height/2) # using cv2.getRotationMatrix2D() to get the # rotation matrix rotate_matrix = cv2.getRotationMatrix2D(center=center, angle=-180, scale=1) # rotate the image using cv2.warpAffine 180 # degree clockwise rotated_image = cv2.warpAffine( src=image, M=rotate_matrix, dsize=(width, height)) cv2.imshow("rotated image:", rotated_image) cv2.imwrite('rotated_image.jpg', rotated_image)
Producción –
Publicación traducida automáticamente
Artículo escrito por bhavyajain4641 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA