2010-02-15 2 views
0

Какой подход вы предложили бы для автоматического классификации типа, найденного в изображениях? Образцы, вероятно, большие, с черным текстом на белом фоне.Классификация образцов образцов из файлов изображений

Категории указаны здесь, с некоторыми примерами на каждой (ссылка на Google Книги): http://bit.ly/9Mnu7P Это расширенная версия системы классификации VOX-ATypI.

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

+0

Может быть полезно отметить его «компьютерное зрение». –

+0

Tagged. Я также хотел бы добавить, что я стараюсь избегать прибегать к действительно дорогостоящим решениям, независимо от того, насколько они хороши. Однако это выглядит многообещающе: http://www.ideeinc.com/products/piximilar/ –

+0

Ну, вы можете попробовать. Но общие решения часто неэффективны или неэффективны. Я считаю, что вам нужно реализовать конкретный метод. Например, они, похоже, используют насыщенность цвета как функцию, которая совершенно бесполезна в вашем случае. –

ответ

2

Во-первых, вам необходимо извлечь функции для классификации. Типичные шрифты обычно различаются по толщине линий, наличию засечек, «округлости» частей характера. Таким образом, возможны следующие возможности:

  • Доля числа черных пикселей на фиксированной площади.
  • Попробуйте применить математику морфологии erosion несколько раз (и/или использовать различные маски) и вычислить эту фракцию
  • Compute средней компактность характера: периметр^2/площадь
  • После нанесения эрозии, подсчитывает количество связные компоненты для символа
  • Compute удлинение и другие image moments, а также направление
  • и т.д.

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

Как для конкретного алгоритма обучения, Random Forest, кажется, хорошее место для начала. В библиотеке OpenCV есть реализация.

Смежные вопросы