gregg-detector / app.py
raweggish's picture
Fix input image v3
765ac56
raw
history blame contribute delete
No virus
2.02 kB
import gradio as gr
import cv2
import requests
import os
import tensorflow as tf
import numpy as np
file_urls = [
'https://drive.google.com/file/d/1dxNKawyagazR9TbxT6Fbla0opLqkROFG/view?usp=sharing',
'https://drive.google.com/file/d/109cc23-4HEyH9hFwenJjY7ZEVXj1-ZjW/view?usp=sharing',
'https://drive.google.com/file/d/1GLdsfug6n1tohqSAPmIzvCWZZSYIaHXj/view?usp=sharing'
]
def download_file(url, save_name):
if not os.path.exists(save_name):
file = requests.get(url)
open(save_name, 'wb').write(file.content)
for i, url in enumerate(file_urls):
if 'mp4' in file_urls[i]:
download_file(
file_urls[i],
f"video.mp4"
)
else:
download_file(
file_urls[i],
f"image_{i}.jpg"
)
# Load the TensorFlow model
model_path = 'saved_model' # Replace with your TensorFlow model path
model = tf.saved_model.load(model_path)
# Placeholder values for input dimensions
input_width = 640 # Replace with the actual input width of your model
input_height = 640 # Replace with the actual input height of your model
def predict_with_tf_model(image):
# Preprocess the image
image = cv2.resize(image, (input_width, input_height))
image = np.expand_dims(image, axis=0)
image = image / 255.0
# Run inference
output = model(image)
# Post-process the output if needed
return output
def show_preds_image(image_path):
image = cv2.imread(image_path)
# Perform inference using the TensorFlow model
output = predict_with_tf_model(image)
# Post-process the output and draw on the image if needed
return cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
inputs_image = [
gr.Image(type="filepath", label="Input Image"),
]
outputs_image = [
gr.Image(type="numpy", label="Output Image"),
]
interface_image = gr.Interface(
fn=show_preds_image,
inputs=inputs_image,
outputs=outputs_image,
title="Gregg Detector",
)
interface_image.launch()