Source code for pyaota.image.blend
import cv2
[docs]
def blend_images(img1_path, img2_path, alpha=0.5, output_path=None):
"""
Blend two images with alpha transparency to see through the top one.
Parameters:
-----------
img1_path : str
Path to first image
img2_path : str
Path to second image
alpha : float, optional
Transparency of first image (0-1, default 0.5)
output_path : str, optional
Path to save result. If None, displays instead.
Returns:
--------
overlay : numpy.ndarray
Blended image
"""
# Load images
img1 = cv2.imread(img1_path)
img2 = cv2.imread(img2_path)
# Check they loaded
if img1 is None:
raise ValueError(f"Could not load {img1_path}")
if img2 is None:
raise ValueError(f"Could not load {img2_path}")
# Check same size
if img1.shape != img2.shape:
raise ValueError(f"Images must be same size. Got {img1.shape} and {img2.shape}")
# Blend
overlay = cv2.addWeighted(img1, alpha, img2, 1-alpha, 0)
# Save or display
if output_path:
cv2.imwrite(output_path, overlay)
print(f"Saved to {output_path}")
else:
cv2.imshow('Overlay', overlay)
cv2.waitKey(0)
cv2.destroyAllWindows()
return overlay
# Usage:
# blend_images('image1.png', 'image2.png') # Display
# blend_images('image1.png', 'image2.png', alpha=0.7, output_path='overlay.png') # Save