File size: 1,128 Bytes
812afe6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cbad9b8
812afe6
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from PIL import Image
from datetime import datetime
from ocr_engine import extract_weight_from_image
from utils import get_ist_time

def process_image(image):
    if image is None:
        return "No image provided", None, None, None

    weight, confidence = extract_weight_from_image(image)
    timestamp = get_ist_time()
    if not weight:
        return "No weight detected", timestamp, image, "-"
    
    return f"{weight} g (Confidence: {confidence}%)", timestamp, image, f"https://your-salesforce-site.com/log-weight?weight={weight}&time={timestamp}"

title = "⚖️ Auto Weight Logger"
description = "Upload or capture an image to extract the weight and log the result."

iface = gr.Interface(
    fn=process_image,
    inputs=gr.Image(type="pil", label="Upload or Capture Snapshot"),
    outputs=[
        gr.Textbox(label="Detected Weight"),
        gr.Textbox(label="Captured At (IST)"),
        gr.Image(label="Snapshot Image"),
        gr.Textbox(label="Salesforce Log URL"),
    ],
    title=title,
    description=description,
    live=True,
)

if __name__ == "__main__":
    iface.launch()