Image Quality
import cv2
import numpy as np
def calculate_sharpness(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
laplacian = cv2.Laplacian(gray, cv2.CV_64F)
laplacian_energy = np.mean(np.square(laplacian))
return laplacian_energy
def get_sharpness_reward(sharpness):
if sharpness < 40:
return 0
elif 40 <= sharpness < 60:
return 1
else:
return 1.2
# Example usage
image = cv2.imread('image.jpg')
sharpness = calculate_sharpness(image)
reward = get_sharpness_reward(sharpness)
def calculate_brightness(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
return np.mean(gray)
def get_brightness_reward(brightness):
if brightness < 80 or brightness > 200:
return 0
elif 80 <= brightness < 100 or 180 < brightness <= 200:
return 1
else:
return 1.2
# Example usage
brightness = calculate_brightness(image)
reward = get_brightness_reward(brightness)
def calculate_contrast(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
return np.std(gray)
def get_contrast_reward(contrast):
if contrast < 30:
return 0
elif 30 <= contrast < 50:
return 1
else:
return 1.2
# Example usage
contrast = calculate_contrast(image)
reward = get_contrast_reward(contrast)