SWIN_Angle_Detection_Car / New_file.txt
Nekshay's picture
Update New_file.txt
fcddb1d verified
raw
history blame
1.92 kB
import cv2
import numpy as np
# Load the images
image_paths = [
'path_to_your_first_image.jpg',
'path_to_your_second_image.jpg',
'path_to_your_third_image.jpg',
'path_to_your_fourth_image.jpg',
'path_to_your_fifth_image.jpg'
]
images = [cv2.imread(image_path) for image_path in image_paths]
# Define the desired height for all images (e.g., maximum height among the images)
desired_height = max(image.shape[0] for image in images)
# Function to resize an image while maintaining aspect ratio
def resize_with_aspect_ratio(image, height):
aspect_ratio = image.shape[1] / image.shape[0]
new_width = int(height * aspect_ratio)
resized_image = cv2.resize(image, (new_width, height))
return resized_image
# Resize images
resized_images = [resize_with_aspect_ratio(image, desired_height) for image in images]
# Add white padding to make the images the same width
max_width = max(image.shape[1] for image in resized_images)
padded_images = [cv2.copyMakeBorder(
image,
0, 0, 0, max_width - image.shape[1],
cv2.BORDER_CONSTANT,
value=[255, 255, 255]
) for image in resized_images]
# Combine images side by side
combined_image = np.hstack(padded_images)
# Add labels to the top of each image
labels = ['Image 1', 'Image 2', 'Image 3', 'Image 4', 'Image 5']
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 1
color = (0, 0, 0) # Black color for the text
thickness = 2
# Add labels to the combined image
x_offset = 0
for i, label in enumerate(labels):
label_size = cv2.getTextSize(label, font, font_scale, thickness)[0]
x = x_offset + 10
y = label_size[1] + 10
cv2.putText(combined_image, label, (x, y), font, font_scale, color, thickness)
x_offset += max_width
# Display the combined image
cv2.imshow('Combined Image', combined_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# Save the combined image
cv2.imwrite('combined_image.jpg', combined_image)