CV-Agent / tool_utils /image_metadata.py
Samarth991's picture
adding CV agent file
0e78cbf
raw
history blame
1.37 kB
import os
import numpy as np
import cv2
from skimage.restoration import estimate_sigma
import logging
def image_brightness(image,thresh=0.37):
L,A,B = cv2.split(cv2.cvtColor(image,cv2.COLOR_BGR2LAB))
norm_L = L/np.max(L)
L_mean = np.mean(norm_L)
if L_mean > thresh:
return "image is Bright enough "
else:
return "image is not bright enough "
def variance_of_laplacian(img,threshould=250):
# compute the Laplacian of the image and then return the focus
# measure, which is simply the variance of the Laplacian
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
laplacian_value = cv2.Laplacian(gray, cv2.CV_64F).var()
logging.info(laplacian_value)
if laplacian_value <= threshould:
return " Image is very blurry"
elif laplacian_value <= 3*threshould:
return " Image is visible but have some regions out of foucs."
elif laplacian_value >= 3*threshould:
return "Image is Very Sharp."
def get_signal_to_noise_ratio(image):
snr_text = None
snr_value = estimate_sigma(cv2.cvtColor(image,cv2.COLOR_RGB2GRAY), average_sigmas=False)
logging.info(snr_value)
if snr_value > 1 :
snr_text = "Signal to Noise is greater than 1 - More Signal in image "
else:
snr_text = "Signal to Noise is less than 1 - More Noise in image "
return snr_text