![]() |
[PHP][HELP] Скелетонизация изображения
http://www.mathworks.co.jp/matlabcen...1/skeleton.jpg
Помогите пожалуйста реализовать бинаризацию и скелетонизацию изображения с помощью GD. Вот, что нарыл по скелетонизации http://dic.academic.ru/dic.nsf/ruwiki/683052 . |
Что касается бинаризации: нашел AS сценарий, из него выдернул принцип
Код:
<?php |
draliokero Для малоцветных изображений (например чернобелых, или где цвета сосредоточены в узкой области) - будет возвращаться пустое изображение, наверное лучше вычислять ЧБ изображение, а потом находить среднюю яркость пиксела и уже относительно этой величины - бинаризировать изображение
|
Gifts, сразу в поиск полез, как думаете этим вопрос решится http://bubble.ro/How_to_check_if_an_image_is_grayscale_in_PHP.html ?
На Google Code нашел С++ проект с фильтром скелетонизации (алгоритм Zhang Suen PDF на Google Docs (Редирект с tinyurl.com, потому что парсер режет [forbidden link])) переписал, получилось вот это: PHP код:
Есть на Java, Perl, C++, Pas куски из OCR модулей, вот один из них: ZhangSuen.java Вроде все понятно, может кто-нибудь поможет тогда исправить ошибку и доделать? |
draliokero Изображение мы должны изменять только после завершения итерации. Из-за того что мы насилуем imageGD постоянно - код получается очень медленным, по хорошему - лучше при бинаризации создавать двумерный массив, а потом уже раскрашивать обратно. Работающий код, без оптимизации:
PHP код:
http://i057.radikal.ru/1003/43/e77905cee0b3.png З.Ы. получить ЧБ изображение можно через среднее арифметическое трех каналов цветного (что, кстати, и будет яркостью пиксела) |
Решил попробовать - вот что получилось =D
http://s60.radikal.ru/i169/1003/1f/711976dc89ef.png Код:
<?php |
| Время: 07:33 |