CARIA.2.0
Precedent repo CARIA : Ajout de nouveau modele. Travail sur multiple ia. ...
This commit is contained in:
47
server-ia/Camera_Identification_RoadSign/predict.py
Normal file
47
server-ia/Camera_Identification_RoadSign/predict.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import cv2
|
||||
import numpy as np
|
||||
import tensorflow as tf
|
||||
|
||||
# Chemin vers le dossier contenant le modèle SavedModel
|
||||
model_dir = "server-ia/data/modeles/traffic_signs_model/1"
|
||||
|
||||
# Chargement du modèle SavedModel
|
||||
model = tf.keras.models.load_model(model_dir)
|
||||
|
||||
# Fonction de prétraitement de l'image
|
||||
def preprocess_image(image):
|
||||
# Redimensionner l'image à la taille attendue par le modèle
|
||||
processed_image = cv2.resize(image, (30, 30))
|
||||
# Assurez-vous que l'image est dans le format attendu par le modèle
|
||||
processed_image = processed_image.astype("float32") / 255.0 # Normalisation
|
||||
processed_image = np.expand_dims(processed_image, axis=0) # Ajouter une dimension pour l'axe du lot
|
||||
return processed_image
|
||||
|
||||
# Fonction de détection des panneaux
|
||||
def detect_signs(video_path):
|
||||
cap = cv2.VideoCapture(video_path)
|
||||
while cap.isOpened():
|
||||
ret, frame = cap.read()
|
||||
if not ret:
|
||||
break
|
||||
|
||||
# Prétraitement de l'image
|
||||
processed_frame = preprocess_image(frame)
|
||||
|
||||
# Faire une prédiction avec le modèle
|
||||
predictions = model.predict(processed_frame)
|
||||
|
||||
# Analyser les prédictions et afficher les résultats sur l'image
|
||||
# Remplacez cette partie par votre code de détection et d'affichage des panneaux
|
||||
|
||||
# Affichage de la vidéo avec les détections
|
||||
cv2.imshow('Video', frame)
|
||||
if cv2.waitKey(1) & 0xFF == ord('q'):
|
||||
break
|
||||
|
||||
cap.release()
|
||||
cv2.destroyAllWindows()
|
||||
|
||||
# Appel de la fonction pour détecter les panneaux dans la vidéo
|
||||
video_path = "server-ia/data/videos/autoroute.mp4"
|
||||
detect_signs(video_path)
|
||||
Reference in New Issue
Block a user