Python OpenCV – getRotationMatrix2D() Function

10 Oct, 2021
cv2.getRotationMatrix2D() function is used to make the transformation matrix M which will be used for rotating a image.
Syntax: 
cv2.getRotationMatrix2D(center, angle, scale)
Parameters: 
center: Center of rotation
angle(θ): Angle of Rotation. Angle is positive for anti-clockwise and negative for clockwise.
scale: scaling factor which scales the image
Return: 2×3 Rotation Matrix M
M = 
where,
This is a type of affine transformation. An affine transformation is transformation which preserves lines and parallelism. These transformation matrix are taken by warpaffine() function as parameter and the rotated image will be returned.
Image Used:
Example 1:
Python3
import cv2  # Reading the imageimage = cv2.imread('image.jpeg')  # Extracting height and width from # image shapeheight, width = image.shape[:2]  # get the center coordinates of the# image to create the 2D rotation# matrixcenter = (width/2, height/2)  # using cv2.getRotationMatrix2D() # to get the rotation matrixrotate_matrix = cv2.getRotationMatrix2D(center=center, angle=90, scale=1)  # rotate the image using cv2.warpAffine # 90 degree anticlockwiserotated_image = cv2.warpAffine(    src=image, M=rotate_matrix, dsize=(width, height))  cv2.imshow("rotated image:", rotated_image)cv2.imwrite('rotated_image.jpg', rotated_image)
Output-
Example 2:
Python3
import cv2  # Reading the imageimage = cv2.imread('image.jpeg')  # Extracting height and width from # image shapeheight, width = image.shape[:2]  # get the center coordinates of the # image to create the 2D rotation matrixcenter = (width/2, height/2)  # using cv2.getRotationMatrix2D() to get# the rotation matrixrotate_matrix = cv2.getRotationMatrix2D(center=center, angle=-90, scale=1)  # rotate the image using cv2.warpAffine 90 # degree clockwiserotated_image = cv2.warpAffine(    src=image, M=rotate_matrix, dsize=(width, height))  cv2.imshow("rotated image:",rotated_image)cv2.imwrite('rotated_image.jpg', rotated_image)
Output-
Python3
import cv2  # Reading the imageimage = cv2.imread('image.jpeg')  # Extracting height and width from image shapeheight, width = image.shape[:2]  # get the center coordinates of the image to # create the 2D rotation matrixcenter = (width/2, height/2)  # using cv2.getRotationMatrix2D() to get # the rotation matrixrotate_matrix = cv2.getRotationMatrix2D(center=center, angle=180, scale=1)  # rotate the image using cv2.warpAffine 180 # degree anticlockwiserotated_image = cv2.warpAffine(    src=image, M=rotate_matrix, dsize=(width, height))  cv2.imshow("rotated image:", rotated_image)cv2.imwrite('rotated_image.jpg', rotated_image)
Output-
Example 4:
Python3
import cv2  # Reading the imageimage = cv2.imread('image.jpeg')  # Extracting height and width from image shapeheight, width = image.shape[:2]  # get the center coordinates of the image to# create the 2D rotation matrixcenter = (width/2, height/2)  # using cv2.getRotationMatrix2D() to get the# rotation matrixrotate_matrix = cv2.getRotationMatrix2D(center=center, angle=-180, scale=1)  # rotate the image using cv2.warpAffine 180# degree clockwiserotated_image = cv2.warpAffine(    src=image, M=rotate_matrix, dsize=(width, height))  cv2.imshow("rotated image:", rotated_image)cv2.imwrite('rotated_image.jpg', rotated_image)
Output – 
Picked
Python-OpenCV
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
How to Install PIP on Windows ?
*args and **kwargs in Python
Python Classes and Objects
Python OOPs Concepts
Iterate over a list in Python