|
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] |
|
) |