Rifaa's picture
Create app.py
4a22b0c verified
import gradio as gr
import cv2
import numpy as np
from gradio import components
from skimage.metrics import structural_similarity as ssim
def checkSimilarity(real_signature, testing_signature):
real_signature = cv2.resize(real_signature, (300, 300))
testing_signature = cv2.resize(testing_signature, (300, 300))
# result = match(path1=path1, path2=path2)
real_signature = cv2.cvtColor(real_signature, cv2.COLOR_BGR2GRAY)
testing_signature = cv2.cvtColor(testing_signature, cv2.COLOR_BGR2GRAY)
similarity_value = "{:.2f}".format(ssim(real_signature, testing_signature)*100)
# Mach Threshold
THRESHOLD = 75
#def print_result(real_signature, testing_signature):
if(float(similarity_value) >= THRESHOLD):
label = "Signatures Match"
else:
label = "Signatures Do Not Match"
return (similarity_value, label )
def print_result(real_signature, testing_signature):
if(float(similarity_value) <= THRESHOLD):
return "Signatures Match"
else:
return "Signatures Do Not Match"
inputs = [
gr.Image(label="Real Signature"),
gr.Image(label="Testing Signature")
]
output = [
gr.Textbox(label="Verification Result"),
gr.Textbox(label="Similarity Value")
]
gr.Interface(fn = checkSimilarity , inputs=inputs, outputs=output,allow_flagging="never", title="SIGNATURE VERIFICATION SYSTEM",description="Upload the real signature and the testing signature to check their similarity.").launch(debug=True, share=True)