Расчёт центра объемной фигуры по серии 2D срезов

У меня на входе имеется 3-мерный массив, в котором каждый элемент является 2d изображением с маской, z координата - это количество срезов в данной серии, при этом сама фигура криволинейной формы.

Как рассчитать центр этой объемной фигуры ?

То есть как рассчитать центр фигуры по её срезам и выдать координату XY по картинке и Z по срезам (допустим они равномерно расположены).

Что-то в таком духе(это срезы объемной фигуры.)


Ответы (1 шт):

Автор решения: MBo

Раз бинаризация уже проведена (судя по верхнему ряду), остаётся вычислить центр масс по его определению, фактически выполнив интегрирование (приняв массу белой точки за 1)

m = 0
mx = 0
my = 0
mz = 0
Для каждого слоя с координатой z:
    Для всех y:
        Для всех х:
           if pt[y][x] белая:
                m += 1
                mx += x
                my += y
                mz += z
cx = mx / m
cy = my / m
cz = mz / m
→ Ссылка