реконструкция символов из векторных шрифтов - PullRequest
4 голосов
/ 03 апреля 2012

У меня есть серия документов ex-PDF (научных / технических) с символами, закодированными как векторная графика, а не в семействе шрифтов. Как преобразовать векторный поток в символы, используя решения с открытым исходным кодом?

Я рад любым сообщениям об успешных решениях. Они могут включать в себя:

  • машинное обучение для обнаружения оригинального семейства шрифтов
  • запись потока на холст и использование OCR
  • эвристика, основанная на восстановлении символов по штрихам

Персонажи, вероятно, довольно "простые" (многие из них sanserif), и я был бы рад восстановлению в ANSI (символы 32-127)

ОБНОВЛЕНИЕ: [для информации SO читателей; не влияет на награду]. Я извлекал векторы из одного примера, и они состоят из обводки, обрисовывающей в общих чертах глиф, так что даже простые глифы, такие как «I», являются «полыми». Я подозреваю, что это обычно верно для всех векторных шрифтов. Я проверил, что несколько экземпляров одного и того же символа имеют одинаковые внутренние координаты, и это можно использовать для поиска и различения шрифтов (незначительные различия будут отображаться в десятичных разрядах). Если шрифты масштабируются точно, и если у нас есть координаты шрифтов (с учетом авторских прав), то поиск их внутренних координат является мощным подходом. Мне было бы интересно, если бы кто-нибудь попробовал это.

Ответы [ 2 ]

3 голосов
/ 07 апреля 2012

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

Давайте рассмотрим каждый из ваших подходов по очереди.вместе с их возможностями:

  1. машинное обучение для обнаружения оригинального семейства шрифтов

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

    Наиболее распространенной областью, где вы найдете эти методы, является обнаружение спама , где полный текст письма визуально проверяется, например, на предмет ASCII-рисунка или спама, закодированного в виде содержимого изображения,Векторизованная классификация для чтения документов, не так много после первоначального прохода.

  2. запись потока на холст и использование OCR

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

    Здесь существует несколько бесплатных решений, в том числе OCR 4 Linux и теперь свободная тессеракт-1036 * OCR *.Для более полного списка, включая сравнения характеристик, см. здесь .

  3. эвристика, основанная на восстановлении символов из штрихов

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

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

Из-за затрат времени на первый подход в контексте известного языка и, вероятно, известного набора семейств шрифтов, я рекомендую использовать (2) и (3) в качестве первых портов вызова. Самый простой метод заключается в том, чтобы получить бесплатную учетную запись Evernote и загрузить документы, просто чтобы посмотреть, что захватили.

Удачи вам.Если текущий уровень техники недостаточен, у вас может быть полезный угловой пример, который стоит внести в эту область.:)

0 голосов
/ 13 апреля 2012

Загрузить документы в Google Docs.При появлении запроса убедитесь, что установлен флажок «Загрузить настройки» в диалоговом окне «Преобразовать текст из файлов PDF и изображений в документы Google».Документы Google Загрузка или загрузка файлов Справка показывает OCR сделано для .jpg, .gif, .png, .pdf типов файлов.Если вам не нравится ваш формат PDF, попробуйте преобразовать его в .png или .gif перед загрузкой.

Примечание: Google Об оптическом распознавании символов страница упоминает "Для файлов PDF, мы ищем только первые 10 страниц при поиске текста для извлечения. "

...