Untitled

 avatar
unknown
plain_text
8 days ago
1.4 kB
2
Indexable
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