如何通过 CVAT REST API 上传注释文件

问题描述 投票:0回答:1

我正在尝试使用 REST API 将注释文件上传到 CVAT 服务器。这是代码。 但是 session.put(f'{cvat_url}/api/tasks/{task_id}/annotations/', files=files, params=params) 的响应是 403。 这段代码是不是有误?

def upload_task_annotations(cvat_url, username, password, task_id, zip_file_path):  
    session = requests.Session()

    payload = {
        'username': username,
        'password': password
    }

    headers = {
        'Content-Type': 'application/json'
    }

    response = session.post(f'{cvat_url}/api/auth/login', json=payload, headers=headers)
    response.raise_for_status()  
    print(response.status_code)  # response is 200
    
    with open(zip_file_path, 'rb') as f:
        files = {
            'annotation_file': (os.path.basename(zip_file_path), f, 'application/zip')
        }

        params = {
            'format': 'CVAT for images 1.1'
        }

        response = session.put(f'{cvat_url}/api/tasks/{task_id}/annotations/', files=files, params=params)
        print(response.status_code) # response is 403

    return response.status_code

致以诚挚的问候。

cvat-cli 命令能够上传数据。

cvat
1个回答
0
投票

问题已经解决了吗?我的代码看起来很相似,但我不知道为什么它不起作用。我可以创建任务、上传图像,但当我尝试将注释附加到带有图像的作业时,就会出现 400 错误。最美好的祝愿

© www.soinside.com 2019 - 2024. All rights reserved.