import cv2 | |
import numpy as np | |
def create_anaglyph(left_image, right_image): | |
# Ensure both images have the same dimensions | |
height, width = left_image.shape[:2] | |
right_image_resized = cv2.resize(right_image, (width, height)) | |
# Extract the red channel from the left image and green-blue channels from the resized right image | |
left_red = left_image[:, :, 2] # Red channel from left image | |
right_green_blue = right_image_resized[ | |
:, :, :2 | |
] # Green and blue channels from right image | |
# Combine channels into a single anaglyph image | |
anaglyph = np.zeros_like(left_image) | |
anaglyph[:, :, 2] = left_red # Red channel from left image | |
anaglyph[:, :, :2] = right_green_blue # Green and blue channels from right image | |
return anaglyph | |