У меня есть несколько изображений, которые я хотел бы нарисовать многоугольником вокруг внешних краев. Сами изображения находятся на прозрачном фоне, и я создал массив пикселей на изображениях, которые содержат точку и не являются прозрачными (или белыми).
Теперь мой вопрос: как нарисовать точный многоугольник вокруг точек внешнего края? Я использовал алгоритм сканирования Грэма, о котором читал, для создания выпуклой оболочки по краям, но это не помогло. Кажется, это не работает для объектов с вогнутостями. Например:
http://i48.tinypic.com/4s0lna.png
С помощью этого метода изображение слева заполняется изображением справа. Как видите, он слишком много «заполняет».
Я предполагаю, что должен быть какой-то другой алгоритм или подход, который можно использовать для решения этой проблемы, но я не уверен, где искать или как он может называться. Может ли кто-нибудь указать мне в правильном направлении? Я использую C#/.net и надеюсь, что уже существует что-то, что могло бы работать в этом направлении.