Myloiose's picture
Update app.py
269d505 verified
raw
history blame
1.23 kB
import streamlit as st
import yolov5
import cv2
import numpy as np
from PIL import Image
@st.cache_resource(show_spinner=False)
def load_model():
model = yolov5.load('keremberke/yolov5n-license-plate')
model.conf = 0.25
model.iou = 0.45
return model
def main():
st.title("Detección de placas con YOLOv5")
st.write("Sube una imagen para detectar placas.")
uploaded_file = st.file_uploader("Selecciona una imagen", type=["jpg", "jpeg", "png"])
model = load_model()
if uploaded_file is not None:
image = Image.open(uploaded_file).convert("RGB")
img_array = np.array(image)
# Inferencia
results = model(img_array, size=640)
# Mostrar resultados
results.render() # dibuja cajas en img_array
st.image(img_array, caption="Resultado de detección", use_column_width=True)
# Mostrar texto detectado (categorías y scores)
detections = results.pred[0]
if len(detections) == 0:
st.write("No se detectaron placas.")
else:
for *box, conf, cls in detections.cpu().numpy():
st.write(f"Placa detectada con confianza {conf:.2f}")
if __name__ == "__main__":
main()