Инструменты для извлечения данных глифа из изображения растрового шрифта - PullRequest
2 голосов
/ 26 июня 2011

У меня есть все символы шрифта, представленные в PNG.Я хочу использовать PNG для рендеринга шрифтов с текстурным отображением в OpenGL, но мне нужно извлечь информацию о глифе - положение и размер символов и т. Д.

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

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

Ответы [ 2 ]

1 голос
/ 26 июня 2011

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

Рассмотрим букву "я". В зависимости от шрифта, слева и справа будет свободное пространство. Даже если у вас есть инструмент, который может идентифицировать глиф «i», вам необходимо знать, сколько пикселей пространства шрифта помещено слева и справа от глифа. Это почти невозможно сделать точно для всех букв. Не без некоторых очень продвинутых алгоритмов компьютерного зрения. И поскольку инструмент, который сгенерировал эти глифы, уже знал, какое расстояние они должны были получить, было бы лучше сменить инструмент на запись информации о глифе.

0 голосов
/ 21 ноября 2011

Вы можете использовать PIL , чтобы помочь вам автоматизировать процесс.

Предполагая, что есть хотя бы одна строка / столбец фона цветоразделения строк / символов, вы можете использовать метод Image.crop для проверки каждой строки (а затем каждого столбца строки), если она содержит только цвет фон ; таким образом вы получаете границы каждого персонажа.

Пинг, если вам нужна дополнительная помощь.

...