Вышивание обратно label_image массивов из сегментированного мозаичного изображения - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть изображение, которое уже было выложено, а затем сегментировано (за пределами моего конвейера). Сегментация проводилась отдельно для каждой плитки, и у меня есть соответствующие label_image массивы.

Это просто массивы того же размера, что и плитки; Значение каждого элемента в массиве соответствует реальному объекту на плитке. Ноль означает фон, 1 означает, что первый объект et c. Например, если бы у нас было изображение с двумя объектами, одним ромбовидным и одним квадратом в верхнем левом и нижнем правом углу соответственно, то массив label_image будет выглядеть так:

[0, 0, 0, 0, 0, 0, 0, 0,
 0, 1, 0, 0, 0, 0, 0, 0,
 1, 1, 1, 0, 0, 0, 0, 0,
 0, 1, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0, 2, 2, 2, 0,
 0, 0, 0, 0, 2, 2, 2, 0,
 0, 0, 0, 0, 2, 2, 2, 0,
 0, 0, 0, 0, 0, 0, 0, 0]

В моем случае, скажем, исходное изображение выглядит так, как показано ниже слева, но сегментация была сделана на каждом из 4 меньших изображений, показанных ниже справа с красными контурами, и у меня есть четыре label_image массива.

enter image description here

Как мне присоединиться к этим четырем меньшим label_images, чтобы получить один label_image для большого изображения, пожалуйста?

Объект (монета в этом примере), который находится на границах, появится в двух (как минимум) label_images в конечном результате, однако они должны быть выражены как один объединенный незафиксированный объект, следовательно, они должны быть заданы то же число.

Помимо label_images у меня также есть центроиды и все остальное, что исходит от функции regionprops.

(изображение взято из здесь )

...