![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| MaDRuS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.10.2006 Репутация: нет Всего: нет |
Господа программисты, поделитесь исходниками сабжа: выделение скелета бинарного изображения (я думаю например из буковок и рисунков ), использовать можно алгоритмы прореживания : классический или асинхронный или быстрый). Или хоть поделитесь идеями их использования.
|
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Ну самое примитивное это так:
в цикле пробегаешся по пикселям, и проверяешь каждый пиксель, если его цвет серый с наклонностью белого, то присваиваешь белый, иначе чёрный. В DRKB я где то видал пример... Это сообщение отредактировал(а) Zero - 2.10.2006, 17:18 |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
http://cgm.cs.mcgill.ca/~godfried/teaching...r/skeleton.html
только там есть случаи, когда алгоритм не работает если будут проблемы - будем обсуждать... -------------------- qqq |
|||
|
||||
| MaDRuS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.10.2006 Репутация: нет Всего: нет |
<Ну самое примитивное это так:
<в цикле пробегаешся по пикселям, и проверяешь каждый пиксель, если его цвет серый с <наклонностью белого, то присваиваешь белый, иначе чёрный. <В DRKB я где то видал пример... Какой серый цвет ? Изображение монохромное (ч\б) . В ДРКБ что то не нашел ничего подобного |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
||||
|
||||
| MaDRuS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 2.10.2006 Репутация: нет Всего: нет |
Например линия, шириной 5 пикселей и какой то длиной -> ее скелетом должна быть линия шириной в 1 пиксель по координатам середины первоначальной. Вот только одной линией не обойтись, надо хотя бы распознавание скелета буковок сделать
|
|||
|
||||
| Agnazar |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Что-то не выходит у меня как указано в приведенной ссылке. Рисует скелетик не по центру жирной линии, а как бы по границе и вообще каша какая-то. Помогите разобраться...
|
|||
|
||||
| Agnazar |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Кажется сам алгоритм проверки верен в основном, но работает довольно паршивенько...
Интересна сама траектория прохода еще... В зависимости от того как проходишь по экрану, выдает разные результаты. Это сообщение отредактировал(а) Agnazar - 2.12.2007, 19:57 |
|||
|
||||
| Agnazar |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Добавлено через 2 минуты и 18 секунд Это я реализовал алгоритм Хилдича. Картинка берется из внешнего файла. Файл текстовый. Там матрица n*n. Только корявенько работает все же. Пример файла 20*20
|
||||
|
|||||
| Agnazar |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Привожу два отлично работающих алгоритма
Первый(реализована идея из книги Павлидиса):
В общем тут моя прога... с мышкой. Щелкаем по левому окошку - прореживает изображение, по правому - накладывает скелет на исходное. Выбор символа осуществляется из палитры снизу. Ну это в общем демонстративная прога такая =) Пользуйтесь! Добавлено через 4 минуты и 25 секунд А вот еще один нашел... Методом лесного пожара. Оч компактный код)
Это сообщение отредактировал(а) Agnazar - 25.5.2008, 10:04 |
||||
|
|||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |