Изображения бинарные и хорошего качества. В частности, края непрерывны, и это большой актив. С другой стороны, дуги окружности пересекаются другими элементами, и это затрудняет их обработку.
Вот мои рекомендации:
сужение краев до одного пикселя width;
используйте алгоритм следования контуру, чтобы проследить края и остановиться на стыках (соединение - это то, где пиксель имеет более двух соседей) или под углами (резкое изменение направление);
определить изогнутые края (возьмите три разнесенные точки и обратите внимание, что они отклоняются от линии);
оценить центр и радиус (вы можете повторить с большим количеством троек для проверки округлости);
сохраните части, совместимые с ожидаемым радиусом;
проверьте, если соседние фигуры (круглые или короткие сегменты) совместимы с глобальным кругом и объединяют их.
В крайних случаях дуги можно разбить на множество коротких кусков. Чтобы справиться с этим, вы можете обнаружить «цепочки» коротких сегментов и проверить их на совместность.