from PIL import Image import cv2 import numpy as np def cv2_to_pil(cv_image: np.ndarray) -> Image.Image: """ cv2.MatLike (BGR/RGB/Grayscale) → PIL.Image """ if len(cv_image.shape) == 3 and cv_image.shape[2] == 3: cv_image = cv2.cvtColor(cv_image, cv2.COLOR_BGR2RGB) return Image.fromarray(cv_image) def image_to_numpy(self, image: Image.Image) -> np.ndarray: """Конвертирует PIL Image в numpy array для OpenCV""" return np.array(image)