Spaces:
Runtime error
Runtime error
File size: 1,450 Bytes
f23140a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import cv2
import numpy as np
import logging
from tensorflow.keras.models import load_model
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
class TBImageProcessor:
"""Processes real TB saliva images using a trained CNN model"""
def __init__(self, model_path="tb_cnn_model.h5"):
try:
self.model = load_model(model_path)
logger.info("TB Image Processor Model Loaded Successfully.")
except Exception as e:
logger.error(f"Failed to load TB Image Model: {e}")
self.model = None
def process_image(self, image_path):
"""Analyze the TB image and return risk assessment."""
if not self.model:
return {"error": "Model not loaded. Cannot process image."}
try:
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
image = cv2.resize(image, (128, 128)) # Resizing for CNN input
image = np.expand_dims(image, axis=[0, -1]) / 255.0 # Normalize
prediction = self.model.predict(image)
confidence = float(prediction[0][0])
result = "TB Detected" if confidence > 0.5 else "No TB"
return {
"result": result,
"confidence": confidence
}
except Exception as e:
logger.error(f"Error processing image: {e}")
return {"error": "Image processing failed."}
|