| | |
| | """ |
| | Test script to verify image loading works correctly. |
| | Run this to diagnose JPG rendering issues. |
| | """ |
| |
|
| | import sys |
| | from pathlib import Path |
| |
|
| | |
| | print(f"Python version: {sys.version}") |
| | print(f"Python executable: {sys.executable}") |
| | print("-" * 50) |
| |
|
| | |
| | print("Testing imports...") |
| | try: |
| | import numpy as np |
| | print(f"β
numpy: {np.__version__}") |
| | except ImportError as e: |
| | print(f"β numpy: {e}") |
| |
|
| | try: |
| | import cv2 |
| | print(f"β
opencv: {cv2.__version__}") |
| | except ImportError as e: |
| | print(f"β opencv: {e}") |
| |
|
| | try: |
| | from PIL import Image |
| | import PIL |
| | print(f"β
Pillow: {PIL.__version__}") |
| | except ImportError as e: |
| | print(f"β Pillow: {e}") |
| |
|
| | try: |
| | import streamlit as st |
| | print(f"β
streamlit: {st.__version__}") |
| | except ImportError as e: |
| | print(f"β streamlit: {e}") |
| |
|
| | print("-" * 50) |
| |
|
| | |
| | def test_load_image(image_path): |
| | """Test different methods of loading an image.""" |
| | image_path = Path(image_path) |
| | print(f"\nTesting: {image_path}") |
| | print(f" Exists: {image_path.exists()}") |
| | |
| | if not image_path.exists(): |
| | print(" β File not found!") |
| | return None |
| | |
| | |
| | try: |
| | with Image.open(image_path) as pil_img: |
| | if pil_img.mode != 'RGB': |
| | pil_img = pil_img.convert('RGB') |
| | img = np.array(pil_img) |
| | print(f" β
PIL loaded: shape={img.shape}, dtype={img.dtype}") |
| | except Exception as e: |
| | print(f" β PIL failed: {e}") |
| | |
| | |
| | try: |
| | img = cv2.imread(str(image_path)) |
| | if img is not None: |
| | img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) |
| | print(f" β
cv2.imread loaded: shape={img_rgb.shape}, dtype={img_rgb.dtype}") |
| | else: |
| | print(f" β cv2.imread returned None") |
| | except Exception as e: |
| | print(f" β cv2.imread failed: {e}") |
| | |
| | |
| | try: |
| | with open(image_path, 'rb') as f: |
| | file_bytes = f.read() |
| | nparr = np.frombuffer(file_bytes, np.uint8) |
| | img = cv2.imdecode(nparr, cv2.IMREAD_COLOR) |
| | if img is not None: |
| | img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) |
| | print(f" β
cv2.imdecode loaded: shape={img_rgb.shape}, dtype={img_rgb.dtype}") |
| | else: |
| | print(f" β cv2.imdecode returned None") |
| | except Exception as e: |
| | print(f" β cv2.imdecode failed: {e}") |
| | |
| | return img |
| |
|
| | |
| | print("\nSearching for test images...") |
| | base_dirs = [ |
| | Path("./uploaded_images"), |
| | Path("./Pacientes"), |
| | Path("."), |
| | ] |
| |
|
| | test_images = [] |
| | for base in base_dirs: |
| | if base.exists(): |
| | for ext in ["*.jpg", "*.JPG", "*.jpeg", "*.png"]: |
| | test_images.extend(list(base.glob(f"**/{ext}"))[:2]) |
| |
|
| | if test_images: |
| | print(f"Found {len(test_images)} images to test") |
| | for img_path in test_images[:5]: |
| | test_load_image(img_path) |
| | else: |
| | print("No images found. Creating a test image...") |
| | |
| | test_img = np.random.randint(0, 255, (100, 100, 3), dtype=np.uint8) |
| | test_path = Path("./test_image.jpg") |
| | cv2.imwrite(str(test_path), test_img) |
| | print(f"Created test image: {test_path}") |
| | test_load_image(test_path) |
| |
|
| | print("\n" + "=" * 50) |
| | print("Test complete!") |
| | print("=" * 50) |
| |
|