Цель состоит в том, чтобы преобразовать массив numpy (2164, 190, 189, 2), содержащий пары изображений в градациях серого и грунтового, в формат COCO:
Я попытался сгенерировать минималистическую аннотацию в кокосовом формате следующим образом:
from pycococreatortools import pycococreatortools
N = 1
grey = data[N,:,:,0]
labels = data[N,:,:,1]
mask1 = labels == 1
mask2 = labels == 2
mask3 = labels == 3
segmentation_id = "chromosome1_1"
image_id = "0001"
category_info = "chromosome1"
binary_mask = mask1
image = grey
print(image.size, image.shape)
annotation_info_mask1 = pycococreatortools.create_annotation_info(segmentation_id, image_id,
category_info,
binary_mask,
image.size, tolerance=2)
, и я получил следующую ошибку:
TypeError Traceback (самая последняя последний вызов)
in () 2 category_info, 3 binary_mask, ----> 4 image.size, допуск = 2)
2 кадра
/ usr / local /lib/python3.6/dist-packages/PIL/Image.py в resize (self, size, resample, box) 1866) 1867 -> 1868 size = tuple (size) 1869 1870, если box отсутствует:
TypeError: объект 'int' не повторяется
Здесь image.size равен 35910 , а image.shape равен (190, 189).
Кажется, что create_annotation_info () ожидает кортеж или список. Это правильно? Каков будет правильный способ сделать это?
Черновая записная книжка Colab находится здесь, чтобы получить весь набор данных.