The major problem is --- what point! What do you want the point for?
If any point would do, simplest is just grab the first point you find. That is want most programs do!
If you want some sort of center you have a much harder time. Objects like you have presented are 'convex' that is they don't have any concave angles or 'holes' in them. But what if your shape is say... two overlapping circles? What if the object has a hole in it.
What point do you want in that case. Some points are hard to find than others.
---
For most objects, the fastest method is to use a distance function (and one that will be faster when a 2-pass distance function is implemented). That is just apply some distance function, and then pick the highest 'peak'.
Remember you may have mutliple peaks in a single shape. A non-convex shape like you gave will only have one peak.
Because of multiple peaks you may have to separate and handle each shape individually, to ensure you only get one peak per object.
http://www.imagemagick.org/Usage/morphology/#distance
Another method is known as 'last erode' that is erode the object (assuming it is white on black) and grab the last pixel(s) that disappear. This should actually produce a similar result to the distance function. Last erode is NOT implemented
You could get a rough but much better 'center' of the shape by averaging the location and height of all the peaks. However that point may not be in the original shape!
---
Note these produce a point(s) that is furthest from any edge. That point is not necessary the centroid which for any given shape is a unique single point. However you must remember the centroid of a non-convex shape may not actually be inside the shape. A donuts centroid is in the middle of the hole. It is also why those balancing bird sculptures act so weird as it arranges for the 'gravitation centroid' to fall in a strange place.
It is also posible to get two separate and distinct objects to have the same centroid!
I have no idea at this point how to get a centroid of a random shape.
---
Another method that is slow but which would generate a single point for any shape that contains no holes is to generate a skeleton of the shape
http://www.imagemagick.org/Usage/morpho ... g_skeleton
And then prune it until you only have just a couple of points left
http://www.imagemagick.org/Usage/morpho ... ng_pruning
However that would be VERY very slow.
---
Other ideas welcome. Examples welcome. This could make a good addition to IM Examples 'morphology'.