Spaces:
Sleeping
Sleeping
File size: 901 Bytes
7c48c3c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import cv2
import numpy as np
from PIL import Image
def preprocess_input(input_image):
return correct_color(input_image)
def correct_color(input_image):
# Convert PIL Image to NumPy array (OpenCV format)
open_cv_image = np.array(input_image)
open_cv_image = open_cv_image[:, :, ::-1].copy() # Convert RGB to BGR
# Apply color correction in LAB color space
lab_image = cv2.cvtColor(open_cv_image, cv2.COLOR_BGR2LAB)
l_channel, a_channel, b_channel = cv2.split(lab_image)
l_channel = cv2.equalizeHist(l_channel)
lab_image = cv2.merge([l_channel, a_channel, b_channel])
corrected_image = cv2.cvtColor(lab_image, cv2.COLOR_LAB2BGR)
# Convert corrected image from BGR to RGB
corrected_image_rgb = cv2.cvtColor(corrected_image, cv2.COLOR_BGR2RGB)
# Convert back to PIL Image
pil_image = Image.fromarray(corrected_image_rgb)
return pil_image |