coco json是一種標準的數據格式。這種格式是針對計算機視覺任務而設計的,可以用于圖像分割、目標檢測和圖像描述等任務。coco json采用了JSON(JavaScript Object Notation)格式來存儲數據,可以輕松地讀取和操作。
{ "info": { "description": "This is a test dataset", "url": "", "version": "1.0", "year": 2021, "contributor": "" }, "images": [{ "id": 1, "file_name": "1.jpg" }, { "id": 2, "file_name": "2.jpg" }], "annotations": [{ "id": 1, "image_id": 1, "category_id": 1, "bbox": [100, 100, 200, 200], "segmentation": [[100, 100, 200, 100, 200, 200, 100, 200]] }, { "id": 2, "image_id": 2, "category_id": 2, "bbox": [150, 150, 250, 250], "segmentation": [[150, 150, 250, 150, 250, 250, 150, 250]] }], "categories": [{ "id": 1, "name": "cat" }, { "id": 2, "name": "dog" }] }
在coco json格式中,數據被組織成四個部分:info、images、annotations和categories。info包含了數據集的描述信息,包括數據集的版本、年份和貢獻者等。images包含了數據集中所有的圖像文件名和ID。annotations則包含了標注信息,包括物體的類別、邊界框位置和分割掩碼等。最后,categories定義了數據集中所有可能的類別。
由于coco json采用了JSON格式來存儲數據,因此可以使用Python中的json模塊輕松地讀取和操作coco json數據。下面是一個示例代碼:
import json with open('coco.json', 'r') as f: data = json.load(f) # 獲取第一張圖像的文件名 print(data['images'][0]['file_name']) # 獲取第一張圖像的所有標注信息 annotations = [anno for anno in data['annotations'] if anno['image_id'] == 1] print(annotations)
上面的代碼將coco.json文件讀入內存,并使用json.load()函數將其解析為一個Python字典。然后可以輕松地獲取其中的各種信息。