| import requests |
| from pathlib import Path |
|
|
| def test_endpoint(image_path, point_coords=None, point_labels=None): |
| |
| url = "http://localhost:5000/predict" |
| |
| |
| with open(image_path, 'rb') as f: |
| files = {'file': f} |
| data = {} |
| |
| |
| if point_coords is not None and point_labels is not None: |
| data['point_coords'] = str(point_coords) |
| data['point_labels'] = str(point_labels) |
| |
| |
| response = requests.post(url, files=files, data=data) |
| |
| print(f"Status Code: {response.status_code}") |
| if response.status_code == 200: |
| result = response.json() |
| print("\nSuccess!") |
| print(f"Number of masks: {len(result['masks']) if 'masks' in result else 0}") |
| print(f"Scores: {result['scores'] if 'scores' in result else None}") |
| else: |
| print(f"Error: {response.text}") |
|
|
| if __name__ == "__main__": |
| |
| image_path = Path("images/20250121_gauge_0001.jpg") |
| if not image_path.exists(): |
| print(f"Error: Image not found at {image_path}") |
| exit(1) |
| |
| |
| print("\nTesting without points...") |
| print(f"Testing with image: {image_path}") |
| test_endpoint(image_path) |
| |
| |
| print("\nTesting with points...") |
| test_endpoint( |
| image_path, |
| point_coords=[[500, 375]], |
| point_labels=[1] |
| ) |