Calculating the size of objects on the picture
One way to proceed (that doesn't require searching through the rows) is to binarize the image, remove the top portion, and then crop. The width of the cropped image is the maximum width of the water drop.
img = Import["https://i.stack.imgur.com/XekQw.png"];
ImageCrop[ImageTake[Binarize[img], -550]] // ImageDimensions
{303, 387}
So it is 303 pixels wide.
(Thanks to Alexey for hint regarding an extraneous use of FillingTransform.)
Here's a way that might work for you:
img = Import["https://i.stack.imgur.com/XekQw.png"]
imClip = ImageClip[img, {.9, 1}, {0, 1}];
coords = Position[MorphologicalComponents[imClip], 0];
possibilities = MinMax[#[[All, 2]]] & /@ GatherBy[coords, #[[1]] &];
Subtract @@
Reverse@MaximalBy[possibilities, Abs@*Apply[Subtract]][[1]]
303
I had to actually check what number MorphologicalComponents
assigned to the black portions of the clipped image. That's where the 0 comes from.
Past that it's a pretty simple filtering, dependent on that bulge part being wider than any of the other parts.
Hopefully that's easier than what you had in mind.