Spaces:
Running
Running
from typing import Dict | |
import cv2 | |
import numpy as np | |
from PIL import Image | |
class SharpnessMetric: | |
def __init__(self): | |
self.kernel_size = 3 | |
def name(self) -> str: | |
return "sharpness" | |
def compute_score( | |
self, | |
image: Image.Image, | |
prompt: str, | |
) -> Dict[str, float]: | |
img = np.array(image.convert('L')) | |
laplacian = cv2.Laplacian(img, cv2.CV_64F, ksize=self.kernel_size) | |
sharpness = laplacian.var() | |
return {"sharpness": float(sharpness)} | |