from typing import Tuple, Union from PIL import Image import numpy as np def calculate_resolution_wh(image: Union[Image.Image, np.ndarray]) -> Tuple[int, int]: if isinstance(image, Image.Image): return image.size elif isinstance(image, np.ndarray): if image.ndim >= 2: h, w = image.shape[:2] return w, h else: raise ValueError("Input numpy array image must have at least 2 dimensions (height, width).") else: raise TypeError("Input image must be a Pillow Image or a numpy array.")