Spaces:
Runtime error
Runtime error
from sklearn.pipeline import make_pipeline | |
from sklearn.base import BaseEstimator, TransformerMixin | |
import cv2 | |
# Define custom transformers for image processing steps | |
class ImageResizer(BaseEstimator, TransformerMixin): | |
def __init__(self, target_size=(299, 299)): | |
self.target_size = target_size | |
def fit(self, X, y=None): | |
return self | |
def transform(self, X): | |
resized_images = [cv2.resize(img, self.target_size) for img in X] | |
return resized_images | |
class ContrastEnhancer(BaseEstimator, TransformerMixin): | |
def __init__(self, clip_limit=2.0, tile_grid_size=(8, 8)): | |
self.clip_limit = clip_limit | |
self.tile_grid_size = tile_grid_size | |
def fit(self, X, y=None): | |
return self | |
def transform(self, X): | |
enhanced_images = [self._enhance_contrast(img) for img in X] | |
return enhanced_images | |
def _enhance_contrast(self, image): | |
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) | |
clahe = cv2.createCLAHE(clipLimit=self.clip_limit, tileGridSize=self.tile_grid_size) | |
enhanced = clahe.apply(gray) | |
return cv2.cvtColor(enhanced, cv2.COLOR_GRAY2BGR) | |
# Define the pipeline | |
# image_pipeline = make_pipeline( | |
# ImageResizer(), | |
# ContrastEnhancer() | |
# ) | |
# Example usage | |
# uploaded_image = cv2.imread() # Load uploaded image | |
# enhanced_image = image_pipeline.transform([uploaded_image])[0] # Apply pipeline | |