Я думаю, что это может быть основой для стратегии ...
Шаг 1:
Начните с "изображения края" ,Случайно выберите любой белый пиксель.Залить заливку черным, используя этот пиксель в качестве начального или начального значения.Это должно заполнить одну сторону края.Запомните семя и возьмите центроид (и, возможно, область) нового, заполненного черной областью.Инвертируйте заполненное изображение и получите центроид другой части изображения.
Теперь вы знаете центроиды обеих сторон края - как отмечено красным цветом ниже:
Шаг 2:
Теперь перейдите к изображению маски.Возможно используйте расширение / эрозию, чтобы заполнить любые маленькие отверстия.Затем запустите «маркировку» на изображении, чтобы получить список смежных черных капель, их центроидов и областей.Выберите самый большой шарик по области.
Теперь у вас должен быть центр тяжести самого большого шарика, как показано зеленым цветом ниже:
Шаг 3:
Теперь выберите ближе две красные точки к зеленой и используйте соответствующее семя для заполнения.
Может лучшена шаге 1 многократно выбирайте белые начальные точки случайным образом, пока не получите другой центроид, вместо того, чтобы делать инверсию.Это потому, что если вы просто инвертируете и получаете центроид, вы не знаете хорошего начального пикселя.Не уверен, что центроид - хорошее семя.