File size: 1,565 Bytes
bf7dfcc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
42
43
44
45
46
47
48
import requests
from pathlib import Path

def test_endpoint(image_path, point_coords=None, point_labels=None):
    # URL for local Flask server
    url = "http://localhost:5000/predict"
    
    # Open image file
    with open(image_path, 'rb') as f:
        files = {'file': f}
        data = {}
        
        # Add point prompts if provided
        if point_coords is not None and point_labels is not None:
            data['point_coords'] = str(point_coords)
            data['point_labels'] = str(point_labels)
        
        # Make request
        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__":
    # Test with your image
    image_path = Path("images/20250121_gauge_0001.jpg")
    if not image_path.exists():
        print(f"Error: Image not found at {image_path}")
        exit(1)
        
    # Test without points
    print("\nTesting without points...")
    print(f"Testing with image: {image_path}")
    test_endpoint(image_path)
    
    # Test with points
    print("\nTesting with points...")
    test_endpoint(
        image_path,
        point_coords=[[500, 375]],  # Example coordinates
        point_labels=[1]  # 1 for foreground
    )