nifleisch
feat: add core logic for project
2c50826
raw
history blame contribute delete
547 Bytes
from typing import Dict
import cv2
import numpy as np
from PIL import Image
class SharpnessMetric:
def __init__(self):
self.kernel_size = 3
@property
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)}