Обычный способ отделить объекты - использовать морфологическую эрозию, используя команду примерно так:
magick fangs.png -alpha extract -trim -morphology erode disk:5 result.png
Вот анимация эффекта дисков разных размеров:
Пройдя немного дальше, вы можете разрушить цикл, а затем выполнить «Анализ связанных компонентов» , подсчитать большие двоичные объекты и сохранитьувеличивая размер диска, пока вы не получите разумное количество зубов.
Или вам может потребоваться немного усерднее работать и попытаться подогнать параболу (показана синим цветом) к пикселям, которые составляют зубы, если этоэто лучшая фигура - я не стоматолог! Затем с помощью параболы вы можете найти нормали к этой параболе (показаны красным цветом) и взять нормаль, которая пересекает наименьшее количество зуба, в качестве границы между зубами. Грубая диаграмма:
Или, возможно, наложите изображение, обнаруженное Кэнни, на встроенную параболу и посмотрите, где ваши края пересекаются с ним.