
import cv2
import numpy as np
import sys
from pathlib import Path
import glob
import os
import time
import datetime
from datetime import datetime, date , timedelta
import os.path



def compare_image(image_1, image_2):
    start_time = time.time()
    # image_1=cv2.imread(image_1)
    # image_2=cv2.imread(image_2)
    first_image_hist = cv2.calcHist([image_1], [0], None, [256], [0, 256])
    second_image_hist = cv2.calcHist([image_2], [0], None, [256], [0, 256])

    img_hist_diff = cv2.compareHist(first_image_hist, second_image_hist, cv2.HISTCMP_BHATTACHARYYA)
    img_template_probability_match = cv2.matchTemplate(first_image_hist, second_image_hist, cv2.TM_CCOEFF_NORMED)[0][0]
    img_template_diff = 1 - img_template_probability_match

    # taking only 10% of histogram diff, since it's less accurate than template method
    commutative_image_diff = (img_hist_diff * 0.75) + img_template_diff
    end_time = time.time()
    # #print("Time taken to compare images in Seconds: {}".format(end_time - start_time))
    return commutative_image_diff



img1 = cv2.imread("image1.png")
img2 = cv2.imread("image1.png")


print(compare_image(img1, img2))
