Python OpenCV – getRotationMatrix2D() Function
Last Updated :
03 Jan, 2023
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
image = cv2.imread( 'image.jpeg' )
height, width = image.shape[: 2 ]
center = (width / 2 , height / 2 )
rotate_matrix = cv2.getRotationMatrix2D(center = center, angle = 90 , scale = 1 )
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)
|
Output-
Example 2:
Python3
import cv2
image = cv2.imread( 'image.jpeg' )
height, width = image.shape[: 2 ]
center = (width / 2 , height / 2 )
rotate_matrix = cv2.getRotationMatrix2D(center = center, angle = - 90 , scale = 1 )
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)
|
Output-
Python3
import cv2
image = cv2.imread( 'image.jpeg' )
height, width = image.shape[: 2 ]
center = (width / 2 , height / 2 )
rotate_matrix = cv2.getRotationMatrix2D(center = center, angle = 180 , scale = 1 )
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)
|
Output-
Example 4:
Python3
import cv2
image = cv2.imread( 'image.jpeg' )
height, width = image.shape[: 2 ]
center = (width / 2 , height / 2 )
rotate_matrix = cv2.getRotationMatrix2D(center = center, angle = - 180 , scale = 1 )
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)
|
Output –
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...