Write a program to show rotation, scaling, and translation on an image
Program:
import cv2 import numpy as np # Load the image image_path = "atc.jpg" # Replace with the path to your image img = cv2.imread(image_path) # Get the image dimensions height, width, _ = img.shape # Define the transformation matrices rotation_matrix = cv2.getRotationMatrix2D((width / 2, height / 2), 45, 1) # Rotate by 45 degrees scaling_matrix = np.float32([[1.5, 0, 0], [0, 1.5, 0]]) # Scale by 1.5x translation_matrix = np.float32([[1, 0, 100], [0, 1, 50]]) # Translate by (100, 50) # Apply transformations rotated_img = cv2.warpAffine(img, rotation_matrix, (width, height)) scaled_img = cv2.warpAffine(img, scaling_matrix, (int(width * 1.5), int(height * 1.5))) translated_img = cv2.warpAffine(img, translation_matrix, (width, height)) # Display the original and transformed images cv2.imshow("Original Image", img) cv2.imshow("Rotated Image", rotated_img) cv2.imshow("Scaled Image", scaled_img) cv2.imshow("Translated Image", translated_img) # Wait for a key press and then close all windows cv2.waitKey(0) cv2.destroyAllWindows()