DSatishchandra's picture
Update app.py
592d739 verified
raw
history blame
1.41 kB
import gradio as gr
from gully_drs_core import ball_detection, replay_utils
def process_lbw_detection(uploaded_video_file):
try:
# Process the uploaded video for LBW detection
result_clip_path, decision = ball_detection.process_lbw_detection(uploaded_video_file)
return result_clip_path, decision
except Exception as e:
return None, f"Error during LBW detection: {e}"
def create_lbw_ui():
with gr.Blocks() as demo:
gr.Markdown("### 🏏 GullyDRS - AI Powered Gully Cricket Review System")
# File upload component, we can use `gr.File()` for video upload
uploaded_video_file = gr.File(label="Upload a Match Video", type="filepath", interactive=True)
# Process button and output components
with gr.Row():
process_btn = gr.Button("🚨 Start LBW Detection")
result_clip = gr.Video(label="Replay with LBW Decision", elem_id="result_video")
decision_output = gr.Textbox(label="LBW Decision", interactive=False)
# Link button click to processing function
process_btn.click(
fn=process_lbw_detection,
inputs=[uploaded_video_file],
outputs=[result_clip, decision_output]
)
return demo
# Launch the Gradio UI for LBW review
demo = create_lbw_ui()
demo.launch(share=True) # Using share=True to allow public URL