File size: 1,370 Bytes
0e78cbf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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