обнаружение фигур в растровом изображении

ищу хороший алгоритм, чтобы сделать следующее: у меня есть B &w изображение состояло исключительно из многоугольников, которые я получил, сканируя документ. Я хотел бы найти все фигуры на этом изображении, сгладить края и в конце получить координаты для гладких фигур. Какие-нибудь хорошие алгоритмы для поиска и сглаживания, чтобы получить идеальные формы в конце?