Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение угла наклона изображения текста, Нужен алгоритм. 
:(
    Опции темы
Guest
Дата 18.5.2005, 11:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Y @ 14.5.2005, 10:01)
У связки: сглаживание -> резкость -> Преобразование Хафа. Не получится ли слишком большая стоимость по времени? Или я ошибаюсь? Дело в том, что у меня изображения размером 150 мегапикселей, и хотелось бы найти более-менее эффективный алгоритм.


А если на изображении строки не совсем ровные на краях (из-за аббераций фотаппарата), то преобразование Хафа может выделить эти дуги?

Hough transform - самое медленное преобразование.
Для таких огромных размеров не подойдет.
Надо упрощать.
Пути два.
Либо уменьшают dpi картинки (при 300 dpi Hough работает еще прекрасно).
Либо так - выделяют компоненты связности, т.е. выполняют кластеризацию (это реализуется довольно быстро), строят обрамляющие прямоугольники, выбирают из каждого прямоугольника по одной точке, и только для них считают Hough. Метод работает. Дополнительно нужны кое-какие меры предосторожности, чтобы учесть разные размеры букв. Обычно выполняют сливание 2-3-х ближлижайших кластеров. При кластеризации одновременно удаляют слишком большие кластеры (т.е. рисунки, таблицы, линии и т.д.). Либо, наоборот, выделяют тонкие линии, если есть, и их тоже используют для определения угла наклона.

Используют также преобразование Радона, оно намного быстрее Hough, но смысл тот же.

Насчет искривления строк - Хаф тут не поможет.
Пожалуй, это самая сложная задача в document processing.
Мне известны пока только два метода. Но лично я в своей программе пока еще этого реализовать не смог.




  Вверх
Y-Vladimir
Дата 18.5.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Цитата
А заечем тебе определять что он текст, он может быть и рамкой.

Ну так у рамки есть и вертикальные и горизонтальные линии - алгоритм может и сбится. Лучше текстовый блок как-то выцепить...

Цитата
Надеш три таких прямых, получишь среднее значение и повернешь лист на угол минус этого значения.

Я все-таки хочу найти несколько текстовых блоков и там определить угол, потом методом голосования (среднее не покатит - слишком высокая погрешность будет, если хоть один блок даст сильно отличающийся угол)

Цитата(Graf @ 17.5.2005, 12:55)
Можно текст также уменьшить, чтобы буквы стали почти точечными.

В приципе в моем случае (да и в других тоже) раза в четыре можно бесболезненно уменьшить изображение и потом его обрабатывать, но размер все равно получается не маленький...

Цитата(Guest @ 18.5.2005, 11:44)
Либо так - выделяют компоненты связности, т.е. выполняют кластеризацию

Но если в печтаном тексте выделять компоненты связности, то в каждый такой компонент будет входить либо всего одна буква (изредка - несколько), либо ее часть. Это конечно зависит от шрифта, но в общем случае будет так.

Цитата(Guest @ 18.5.2005, 11:44)
строят обрамляющие прямоугольники, выбирают из каждого прямоугольника по одной точке, и только для них считают Hough

А не будет ли преобразование Хафа в таком случае искать линии в буквах, вместо линий ИЗ букв?

Цитата(Guest @ 18.5.2005, 11:44)
Используют также преобразование Радона

Спасибо за информацию о преобразовании Радона, надо будет почитать...

Цитата(Guest @ 18.5.2005, 11:44)
Насчет искривления строк - Хаф тут не поможет

А как же выделение параметрических дуг с помощью преобразования Хафа?

Цитата(Guest @ 18.5.2005, 11:44)
Пожалуй, это самая сложная задача в document processing.

Да, это весьма сложная задача, хотя ИМХО сегментация т.е. выделение текстовых блоков, изображений, таблиц будет потруднее, хотя может я и ошибаюсь.

Цитата(Guest @ 18.5.2005, 11:44)
лично я в своей программе пока еще этого реализовать не смог

А что ты за программу писал? Очень интересно было бы узнать...


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0385 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.