Center of mass in binary image

Hello, I have a binary image with one object. How can I calculate the center of this object, to mark it in my image and to write the coordinates in the corner of this image, like this: object: X, Y
I used this code to calculate the center of mass:
s = regionprops(bw, 'centroid');
centroids = cat(1, s.Centroid);
imshow('MY_IMAGE.jpg')
hold on
plot(centroids(:,1), centroids(:,2), 'b*')
hold off
but how can i plot this coordinates on my image in the left corner?
Thank you for help

 Respuesta aceptada

David Sanchez
David Sanchez el 18 de Sept. de 2013

0 votos

use text command:
your_string = strcat( num2str(centroids(:,1)),'-', num2str(centroids(:,2)));
text(10,10,your_string)
change the position by changing the "10,10" values

5 comentarios

Felix
Felix el 18 de Sept. de 2013
Thank you! How can I change the background and the color of the text?
Image Analyst
Image Analyst el 18 de Sept. de 2013
Look up Text properties in the help. You will see 'BackgroundColor' and 'Color':
text(x, y, yourString, 'Color', [1, ,5, .2], 'BackgroundColor', [.1, .3, .2]);
Felix
Felix el 18 de Sept. de 2013
Editada: Felix el 18 de Sept. de 2013
Thank you it's works, another question, how can i write in this way:
Object: X,Y(coordinates)
now it gives me only a coordinates and can i also write a coordinates without a numbers after '.'? only integers
Image Analyst
Image Analyst el 18 de Sept. de 2013
Use sprintf to create your string, and cast your numbers to integers or use %.0f:
textString = sprintf('Object: %d, %d (coordinates)', int32(X), int32(Y));
text(x,y,textString);
Felix
Felix el 18 de Sept. de 2013
thnx

Iniciar sesión para comentar.

Más respuestas (2)

Walter Roberson
Walter Roberson el 18 de Sept. de 2013

0 votos

ndgrid() of 1:width and 1:height, do a logical indexing of those according to the binary image, calculate the mean() of what is left in each of the two coordinate matrices. Result will be centre of mass along each of the two coordinates.
Mauldy Putra
Mauldy Putra el 16 de Dic. de 2016

0 votos

i want to ask, in your code there is bw i want to know what is bw stand for? cause i try use your code it's said "Undefined function or variable 'bw'."
thank you

1 comentario

Walter Roberson
Walter Roberson el 16 de Dic. de 2016
bw is the binary image whose center of mass is to be found.

Iniciar sesión para comentar.

Categorías

Más información sobre Images en Centro de ayuda y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Preguntada:

el 18 de Sept. de 2013

Comentada:

el 16 de Dic. de 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by