Обход изображения по контуру...
Есть картинка черная с белым пятном (только белое и черное, никаких грейскейл). Начиная с какого-нибудь пикселя (на какой первый наткнемся) нужно обойти пятно по контуру, посчитать кол-во белых точек в контуре и записать их координаты в массив.
Дополнительная сложность в том что из пятна могут торчать небольшие белые палки толщиной в 1 пиксель - по ним нужно пройти вперед потом назад и при этом не посчитать одни и те же точки дважды....
Принимаются любые идеи, желательно словами, а не кодом :-) Но спасибо за любые!
В даный момент я занимаюсь такойже проблемой и использую такой метод:
Выбирается первая точка(любая что граничет с фоном).
Ищем соседнюю.
Если получился шпиль "небольшие белые палки толщиной в 1 пиксель", то запоминае координаты и возвращаемся на 1 точку назад и пробуем найти другую точку контура (не из шпиля).
После завершения обхода закрашиваем пятно в цвет отличный от фона (что бы не повторяться).
Более подробную информацию или когда возникнут вопросы пиши: [email]programer_tang@ukr.net[/email]
P.C. Если есть какая-то информация пожалуста тоже пришли, я роботаю над магистерской так что ОЧЕНЬ нужно.
Обединим наши усилия.
http://www.cs.mcgill.ca/~aghnei/square.html
И использую один из тех алгоритмов (третий кажется). Про закраску пятна это я тоже "допер" :-) И к тому алгоритму придумал усовершенствование, теперь вроде обходит любой контур, что не может не радовать :-) В общем сайт посмотри, а дискуссию потом продолжим...
Привет! Я нашел неплохой сайт по алгоритмам обхода контуров -
И использую один из тех алгоритмов (третий кажется). Про закраску пятна это я тоже "допер" :-) И к тому алгоритму придумал усовершенствование, теперь вроде обходит любой контур, что не может не радовать :-) В общем сайт посмотри, а дискуссию потом продолжим...