centerOfMass(A) finds the gray-level-weighted center of mass of the
N-dimensional numerical array A. A must be real and finite. A warning
is issued if A contains any negative values. Any NaN elements of A will
automatically be ignored. centerOfMass produces center of mass
coordinates in units of pixels. An empty array is returned if the
center of mass is undefined.
The center of mass is reported under the assumption that the first
pixel in each array dimension is centered at 1.
Also note that numerical arrays other than DOUBLE and SINGLE are
converted to SINGLE in order to prevent numerical roundoff error.
A = rgb2gray(imread('saturn.png'));
C = centerOfMass(A);
figure; imagesc(A); colormap gray; axis image
hold on; plot(C(2),C(1),'rx')