Как найти центроид объекта в разделенном изображении

У меня есть двоичное изображение, и я разделил это изображение на несколько блоков. например изображение (60x60), разделенное на 4 блока

(30x30) (30x30) (30x30) (30x30)

Теперь я хочу вычислить центроид каждого блока, я ищу формулу для этого и в итоге получил

Формула Centroid

Как я могу сделать это с помощью Matlab и в чем разница между этим методом и regionprops(...,'Centroid')

Обновление 1: это то, что я написал до сих пор...

m = 2;
n = 2;
im = imread('C:\Users\Home\Desktop\Samples\0_1.bmp');
flippedIm = 1-im;
boundary = regionprops(flippedIm, 'BoundingBox');
boundedIm = vertcat(boundary(1).BoundingBox);
xmin = boundedIm(1);
ymin = boundedIm(2);
width = boundedIm(3);
height = boundedIm(4);
croppedIm = imcrop(flippedIm,[xmin ymin width height]);

%USE X TO TEST
x = reshape(1:9,3,3)';
x = myPadding(x,m,n);

%a contains cells (blocks)
a = mySplit(x,m,n);

measurements = regionprops(x,'Centroid');
display(measurements(1));

И результат этого кода...

measurements = 

9x1 struct array with fields:

Centroid

person Hossam Houssien    schedule 24.02.2017    source источник
comment
Центроид, рассчитанный с помощью regionprops, должен быть идентичен центроиду, рассчитанному по вашей формуле. Вы получаете разные результаты? Почему так важно, что ваше изображение разделено на 4 блока? Если в вашем вопросе чего-то не хватает, если вы можете найти центроид одного изображения, вы можете найти центроиды 4 изображений.   -  person beaker    schedule 24.02.2017
comment
И что ты сделал?   -  person smttsp    schedule 24.02.2017
comment
@smttsp Я добавил то, что сделал до сих пор   -  person Hossam Houssien    schedule 24.02.2017
comment
@beaker regionprops дает мне массив структур 9x1, как я уже упоминал выше, разве центроид не должен быть координатами (x, y)? почему он дает мне значения 9x1? Извините, но не могли бы вы объяснить мне, где я не прав, заранее спасибо   -  person Hossam Houssien    schedule 24.02.2017
comment
@rayryeng Я до сих пор не понимаю, вы имеете в виду, что одно изображение может иметь более одного центроида?   -  person Hossam Houssien    schedule 24.02.2017
comment
@HossamHoussien Вы используете regionprops для недвоичного изображения со значениями от 1 до 9 в сетке 3 x 3. Эффект от этого заключается в том, что он обрабатывает каждый пиксель как отдельный объект. Вот почему у вас есть 9 центроидов и, следовательно, массив из 9 элементов. Если вы изучите каждый центроид массива структур, вы увидите, что он точно совпадает с положением каждого элемента в сетке 3 x 3. Проще говоря, вы неправильно используете функцию с данным вводом.   -  person rayryeng    schedule 24.02.2017
comment
Кстати, я думаю, вы, возможно, имели в виду использовать a в вызове regionprops вместо x, но x по-прежнему является недвоичной матрицей. Вам нужно либо преобразовать в двоичный код, либо убедиться, что ввод действительно то, что вы хотите.   -  person rayryeng    schedule 24.02.2017
comment
@rayryeng Теперь я понимаю, и ваш ответ здесь очень помог. Спасибо за объяснение :)   -  person Hossam Houssien    schedule 24.02.2017
comment
@HossamHoussien Ах :) Я написал этот ответ давным-давно. Это мое удовольствие.   -  person rayryeng    schedule 24.02.2017