Изогнулся лист шаблона: как выправить ячейки перед извлечением букв

Если бумажный шаблон выгнулся, одна общая коррекция перспективы не вернёт все ячейки на место: верх и низ страницы могут выглядеть ровно, а середина останется дугой. Сначала определите, где именно меняется геометрия, затем по возможности переснимите лист на плоской опоре и только потом применяйте локальную коррекцию. Так меньше риск обрезать выносные штрихи, исказить пропорции букв или незаметно перепутать их координаты.
Почему ровный по краям шаблон может быть кривым внутри
Когда лист не лежит плоско, изображение перестаёт быть проекцией одной плоскости. У прогиба есть локальный характер: прямые линии сетки в центре выгибаются, а у краёв почти сохраняют направление. Перспективное преобразование может выровнять четыре угла, но оно не способно одновременно распрямить волну посередине. Поэтому после автоматического поиска ячеек часть букв совпадает с ожидаемыми границами, а часть смещается или оказывается подрезана.
Причиной бывает закрученный край бумаги, складка, толстый переплёт рядом со страницей, скрепка или неравномерное прижатие крышкой сканера. Иногда лист просто лежит на неровной поверхности. Важно отличить эту проблему от равномерного поворота, перспективного наклона, неправильного масштаба печати и неточного обнаружения меток: похожие симптомы требуют разных исправлений.
Как распознать локальный изгиб по сетке
Проверяйте не только угловые метки, но и несколько длинных линий внутри шаблона. Выберите вертикальную и горизонтальную линии, которые проходят через большую часть листа. Если линия плавно отклоняется в середине и возвращается к исходному направлению у края, вероятна кривизна листа. Если все линии остаются прямыми и параллельными, но вся сетка наклонена целиком, достаточно обычного поворота.
Посмотрите на ячейки в разных областях изображения. При общем масштабе они должны изменяться согласованно. Если центральная полоса ячеек уже или шире соседних, а крайние ряды выглядят нормальными, локальная деформация вероятнее ошибки масштаба. Если же все ячейки одинаково крупнее ожидаемого, причина скорее в печати или разрешении.
Полезно наложить ожидаемую сетку на скан в предпросмотре, если такой режим доступен. Отметьте три места: рядом с верхним краем, в центре и рядом с нижним краем; повторите проверку по горизонтали. Не делайте вывод по одной букве: её собственный штрих может заходить к границе и создавать ложное впечатление смещения. Сравнивайте именно печатные линии или устойчивые контрольные точки.
Сначала устраните причину, а не деформацию
Если оригинал доступен, пересъёмка обычно надёжнее сложной цифровой правки. Положите шаблон на ровную матовую поверхность, расправьте углы и уберите предметы, которые поднимают лист. При работе со сканером проверьте, не зажат ли шаблон у корешка или под выступающей рамкой. Не давите на крышку так, чтобы она сдвигала бумагу или сминала её.
Для тонкого листа можно закрепить свободные края съёмными грузиками вне области символов. Не приклеивайте ленту поверх линий сетки и не кладите прозрачное стекло, если оно даёт блики. Снимайте страницу целиком, включая поля и угловые метки. Если край физически загнут, не пытайтесь распрямить его сильным сгибом в обратную сторону: повреждённая бумага может получить новую волну.
Перед повторным захватом убедитесь, что камера или сканер видит лист без перспективного наклона. Держите плоскость сенсора параллельно бумаге, если снимаете камерой, и проверьте кадр по четырём краям. Эта проверка не заменяет контроль внутренней сетки: плоский лист тоже может быть снят под углом, а ровные углы не гарантируют ровную середину.
Решите, можно ли исправить имеющийся кадр
Сохраните исходный снимок или скан отдельным файлом. Затем сравните его с образцом шаблона и ответьте на три вопроса:
- Видны ли все угловые метки и внешние границы листа?
- Можно ли проследить печатные линии через прогнутую область?
- Не закрывает ли тень или блик именно тот участок, где должна проходить граница ячейки?
Если разрыв вызван только изгибом, но линии хорошо различимы, локальное выравнивание может сработать. Если линия потеряна под складкой, засвечена или закрыта тенью, алгоритму не на что опираться. Дорисовывать предполагаемую границу на глаз рискованно: ошибка перейдёт сразу в несколько вырезок. В таком случае переснимите лист или вручную проверьте каждую затронутую ячейку.
Также оцените сами буквы. Если изгиб заметно растянул или сжал рукописный штрих на изображении, исправление сетки не восстановит исходную форму. Используйте коррекцию прежде всего для определения правильных границ вырезки, а не для сильного преобразования нарисованных символов.
Выберите подход исправления
Вариант 1: повторное сканирование или фотографирование
Выберите его, если оригинал можно выпрямить и проблема затрагивает много ячеек. Такой путь сохраняет единые пропорции символов и уменьшает число ручных решений. После захвата заново найдите метки и проверьте центр листа, а не переносите старые координаты на новый кадр.
Вариант 2: локальная деформация сетки
Она подходит, когда лист нельзя переснять, изгиб плавный, а контрольные линии различимы. Идея состоит в том, чтобы задать соответствия между ожидаемой плоской сеткой и несколькими точками на изображении, расположенными не только по углам, но и вдоль прогиба. Чем сильнее и резче складка, тем выше риск артефактов и тем больше нужна ручная проверка.
Если программа предлагает только выравнивание по четырём углам, это глобальная коррекция. Не выдавайте её за исправление локального изгиба: она может улучшить края, оставив центральные ячейки перекошенными. При отсутствии подходящего инструмента лучше получить новый кадр, чем растягивать изображение несколькими произвольными движениями.
Вариант 3: извлечь без глобальной правки и исправить отдельные ячейки
Этот вариант разумен, если затронут один небольшой участок, а остальные строки совпадают с шаблоном. Сохраните общий кадр, вручную задайте границы проблемных ячеек и сравните каждую вырезку с исходником. Не меняйте координаты целого ряда ради одной буквы: соседние знаки начнут смещаться.
Пошаговый порядок работы
- Сохраните исходное изображение без обрезки, поворота и перезаписи.
- Проверьте внешние метки, края листа и масштаб печати.
- Проследите линии сетки в начале, середине и конце строк и столбцов.
- Отделите общий наклон от плавного локального прогиба.
- Если возможно, выровняйте бумагу и сделайте новый захват.
- Если переснять нельзя, исправляйте только при видимых контрольных линиях и используйте больше контрольных точек внутри листа.
- Повторно найдите ячейки и осмотрите вырезки в начале, в центре и у краёв.
- Сравните спорные знаки с полной страницей и поправьте границы точечно.
После коррекции просмотрите все ячейки, а не только контрольные. Соседние строки могут вести себя по-разному: лист иногда скручен сразу в двух направлениях. Проверка набора букв в созданном шрифте поможет заметить пропуски и дубли, но не заменит сверку с изображением: две похожие буквы могут выглядеть правдоподобно и при неверном назначении ячейки.
Как проверить результат до сборки шрифта
Соберите контактный лист из вырезок и расположите их в том же порядке, что символы на бумаге. Так легче заметить плавный уход границ, случайное попадание части соседней ячейки и необычное сжатие штрихов. Увеличьте несколько вырезок по краям области изгиба и сопоставьте их с оригинальным изображением, не полагаясь только на миниатюры.
Проверьте три типа границ: надстрочные и подстрочные элементы, длинные диагонали и знаки, которые подходят близко к рамке. Важно не удалить часть авторского штриха вместе с линией шаблона. Если сетка пересекает рисунок, сравните очищенную вырезку с оригиналом и убедитесь, что удаление рамки не изменило форму знака.
Затем проверьте порядок кодовых позиций: одна смещённая граница иногда приводит не к обрезке, а к тому, что в ячейку попадает соседняя буква. Просмотрите подряд знаки до и после проблемного участка. При необходимости временно подпишите контрольный лист символами вне изображения, но не встраивайте эти подписи в рисунок глифов.
Частые ошибки
- **Исправлять изгиб одной перспективной трансформацией.** Она выравнивает общую плоскость, но не гарантирует, что дуга в центре исчезла.
- **Подгонять координаты по контуру букв.** Контур меняется от символа к символу; опорой должны быть линии шаблона или его метки.
- **Проверять только углы.** При прогибе крайние точки могут совпасть, тогда как центральный ряд останется смещённым.
- **Сглаживать или растягивать сам штрих.** Геометрическая правка может изменить авторскую форму. Не применяйте сильное локальное растяжение к символам без сравнения с оригиналом.
- **Перезаписывать единственный исходник.** Без оригинала трудно понять, возникла ли ошибка в шаблоне, скане или коррекции.
- **Скрывать неуверенность автоматической обработкой.** Если границы потеряны, ручная проверка или пересъёмка честнее, чем произвольная реконструкция.
Контрольный список перед извлечением
- [ ] Сохранён оригинальный кадр страницы.
- [ ] Все внешние метки и края листа попали в изображение.
- [ ] Проверены внутренние линии в нескольких местах, включая центр.
- [ ] Определено, что именно исправляется: наклон, масштаб или локальный прогиб.
- [ ] Для локальной коррекции есть различимые контрольные точки внутри сетки.
- [ ] Контрольные вырезки проверены по краям и в зоне изгиба.
- [ ] Подозрительные ячейки сверены с полным листом до экспорта.
Частые вопросы
Достаточно ли выровнять лист по четырём углам?
Для прямого плоского листа четыре угла помогают скорректировать поворот и перспективный наклон. При локальном изгибе совпадение углов не говорит о точности середины. Проверьте внутренние линии и ячейки в центре страницы.
Можно ли исправить выгнутую страницу после сканирования?
Иногда можно, если печатная сетка видна и изгиб плавный. Потребуются опорные точки внутри листа и проверка вырезок после преобразования. Если линии скрыты складкой или бликом, надёжнее переснять страницу.
Почему в центре ячейки сдвинуты, хотя рамка страницы ровная?
Возможно, бумага выгнулась внутрь кадра или лежала на неровной поверхности. Рамка показывает форму краёв, а центральная сетка — поведение поверхности между ними. Сравните несколько линий и рядов по всей странице.
Нужно ли удалять линии сетки до коррекции геометрии?
Нет, если линии служат опорой для выравнивания. Сначала определите ячейки и выполните геометрическую проверку, затем очищайте сетку внутри вырезок. Раннее удаление линий лишает вас важных контрольных ориентиров.
Что делать, если волна проходит через одну строку букв?
Сначала определите, можно ли выровнять лист и переснять его. Если нет, вручную проверьте границы каждой затронутой ячейки и соседних знаков. Не сдвигайте всю строку одинаково: величина локального смещения может меняться вдоль дуги.
Исправит ли локальная коррекция искажённую форму буквы?
Она может улучшить положение границ ячейки, но не восстановит достоверно штрих, растянутый при съёмке. Сравните символ с оригиналом и избегайте преобразований, которые меняют наклон, ширину или характер линии. При сильном искажении пересъёмка предпочтительнее.
Итог
Локальный прогиб выдаёт себя не наклоном всей сетки, а изменением её формы внутри страницы. Сначала проверьте внутренние линии и попробуйте выровнять бумагу физически. Если кадр приходится исправлять, используйте контрольные точки по всей области и сверяйте вырезки с оригиналом до сборки шрифта. Для подготовки шаблона к извлечению букв можно воспользоваться инструментами Fontgenerator, а спорные зоны оставить на ручную проверку.