diff --git a/python/pokedex_rpi.py b/python/pokedex_rpi.py index a14d3428e7f881e62615346b898a75f44cfa2e61..2f87792ef41b4d87a956dc754ed179391d118352 100644 --- a/python/pokedex_rpi.py +++ b/python/pokedex_rpi.py @@ -28,20 +28,28 @@ with open(json_path, "r") as f: # --- Inference --- with Hailo(hef_path) as hailo: model_h, model_w, _ = hailo.get_input_shape() + print(f"-- Hailo model input size: {model_w}x{model_h}") - # Initialize camera and configure MAIN output only (no preview) picam2 = Picamera2() + + # Use *raw* capture configuration with correct size config = picam2.create_still_configuration( main={"size": (model_w, model_h), "format": "RGB888"}, - display=None # Disable preview stream to avoid tiny resolution + lores=None, + display=None ) picam2.configure(config) picam2.start() print("-- Capturing image...") frame = picam2.capture_array() + print(f"-- Captured frame shape: {frame.shape}") + + if frame.shape[0] != model_h or frame.shape[1] != model_w: + print("-- Frame shape doesn't match model input size. Aborting.") + exit(1) - # Optional: Show the captured image + # Optional: display image try: cv2.imshow("Captured Image", frame) print("-- Press any key to continue...") @@ -58,4 +66,4 @@ with Hailo(hef_path) as hailo: predicted_idx = int(np.argmax(inference_results)) predicted_name = class_names[predicted_idx] - print(f"-- Predicted Pokémon: {predicted_name}") \ No newline at end of file + print(f"-- Predicted Pokémon: {predicted_name}")