data = RandomReal[1, {10, 10}];

    plot = ListContourPlot[data, PlotLegends -> Automatic, Contours -> 5];
    p1 = RegionCentroid[
       Cases[Normal@plot, Line[x_] :> Polygon[x], Infinity][[-1]]];
    Show[plot, Graphics[{Red, PointSize[.02], Point[p1]}]]

[![enter image description here][1]][1]

when you have multiple regions at the lowest level you'll need to manually take the 'last n' results from `Cases`:

    plot = ListContourPlot[data, PlotLegends -> Automatic, Contours -> 5];
    pts = RegionCentroid /@ 
       Cases[Normal@plot, Line[x_] :> Polygon[x], Infinity][[-9 ;;]];
    Show[plot, Graphics[{Red, PointSize[.02], Point[pts]}]]

[![enter image description here][2]][2]

The green marker is the minimum for the interpolation function found by

    Last@Quiet@
      FindMinimum[
       Interpolation[Flatten[MapIndexed[{#2, #} &, data, {2}], 1], 
         InterpolationOrder -> 3][x, y], {x, y}]

as you see its a little different.



  [1]: https://i.sstatic.net/5ShLl.png
  [2]: https://i.sstatic.net/EOwMK.png