Untitled
import os import cv2 import numpy as np import pickle from tensorflow.keras.models import load_model from sklearn.preprocessing import LabelEncoder # Establishing Paths base_dir = os.path.dirname(__file__) model_filepath = os.path.join(base_dir,"optimum_Model_0.keras") encoder_path = os.path.join(base_dir, "label_encoder.pkl") image_path = os.path.join(base_dir, "CapturedImage_20250202_154512.png") # Modify as needed model = load_model(model_filepath) with open(encoder_path, "rb") as f: label_encoder = pickle.load(f) # Preprocess the image def preprocess_image(image_path, img_size=(128, 128)): img = cv2.imread(image_path) if img is None: raise ValueError(f"Unable to load image at {image_path}") img = cv2.resize(img, img_size) img = img.astype("float32") / 255.0 # Normalize img = np.expand_dims(img, axis=0) # Add batch dimension return img # Predict the image image = preprocess_image(image_path) prediction = model.predict(image) predicted_label_index = np.argmax(prediction) predicted_label = label_encoder.inverse_transform([predicted_label_index])[0] confidence_score = prediction[0][predicted_label_index] # Display the result print(f"Processing image: {image_path}") print(f"Predicted: {predicted_label}") print(f"Confidence: {confidence_score:.2f}")
Leave a Comment