from .utils import *
import cv2
[docs]def judge(img, pan=None):
"""Calculate some infomation about `img`
The `img` should be a grayscale image
:param img: The image
:param pan: The pan image
:return: Some infomation
:rtype: dict
"""
if len(img.shape) > 2:
raise ValueError("The image should be a grayscale image")
mean_img, std_img = cv2.meanStdDev(img)
if pan is None:
return {
"mean": mean_img[0][0],
"std": std_img[0][0],
"entropy": Entropy(img),
"avg_grad": avg_grad(img),
}
p_rp = piancha_relativepiancha(img, pan)
return {
"mean": mean_img[0][0],
"std": std_img[0][0],
"entropy": Entropy(img),
"avg_grad": avg_grad(img),
"rmse": RMSE(img, pan),
"r_value": R_value(img, pan),
"piancha": p_rp[0],
"relativepiancha": p_rp[1],
}