I am trying to find the centers of gravity of my particles in a SEM image. I binarized the image (img) and with the input and help of previous suggestions on that topic (Creating graph out of particles images). 
I managed to compute the centroids and areas and so on.
im = img // ImagePad[#, -0] & // MorphologicalComponents[#, 0.5, CornerNeighbors -> False] & centroid = Values[Select[ComponentMeasurements[im, "Centroid"], #[[1]] > 0 &]]; Still I have no idea how to get the center of gravity, since the center of mass is sometimes outside the particles due to their shape. I still want to find the center "inside" the particles to calculate the distance of those center for all particles. Has anybody an idea how to do that?
As you can see the center of mass (red dots) is often outside the particles, thus I would like to get the center of gravity:
Thanks in advance for your input and help!
Edit:
here is the center what I am searching for drawn as a sketch:


SkeletonTransform. Here is my quick example for one bean – I might write a complete answer later. $\endgroup$RegionNearestto find a point in the region that is nearest to the center of mass of the region. If the center of mass is inside the region, you will get the center of mass. If the center of mass is outside the region, this would be on the boundary of the region. $\endgroup$