Page dewarp (page_dewarp) — консольная Python утилита для устранения геометрического искривления (деформации/перекоса) плоскости оцифрованных страниц. Работа утилиты основана на некоторых возможностях библиотеки OpenCV.
OpenCV (Open Source Computer Vision Library) — свободная библиотека алгоритмов компьютерного зрения (обнаружение, отслеживание и классификация объектов), обработки изображений и численных алгоритмов общего назначения.
Большинство современных систем распознавания текста (OCR / Optical Character Recognition) ориентированы на работу с прямыми горизонтальными строками, поэтому качество распознавания напрямую зависит от качества самого распознаваемого изображения. Одним из существенных факторов влияющих на качество изображений является деформация строк текста на изображении возникающее в результате особенностей съёмки (сканирования).
При сканировании толстых книг деформация выражается в искажениях строк по загибанию их краёв вблизи сгиба (в области корешка), это особенно заметно если для получения изображений вместо сканера используются цифровые камеры (добавляются искажения оптики). На одном изображении могут сочетаться несколько деформаций, что значительно усложняет построение точной модели искривления страницы.
Для систем распознавания текста устранение геометрического искривления плоскости объекта оцифровки необходимо решать ещё на этапе пост-обработки (оптимизации), известно несколько решений задачи распрямления деформированных строк сканированного документа. page_dewarp использует собственный алгоритм по коррекции изгиба страниц, основанный на параметрической модели определения параметров внешнего вида страницы.
page_dewarp прост в использовании, сканированные изображения формата JPEG оптимизируются и преобразуются в изображения формата PNG (исходные изображения остаются без изменений). При преобразовании выводятся подробности процесса, опционально изображения могут объединятся в PDF документ (используется ImageMagick), например:
page_dewarp *.jpg -o output.pdf
На сайте проекта имеется подробное описание используемого алгоритма/метода оптимизации (на английском) и доступны "тестовые" изображения (используемые как примеры в документации).
Лицензия: MLT (The MIT License)
Комментариев: 3 RSS
1Аноним27-03-2018 07:28
Получается она только для черно-белых изображений.
2Gera27-03-2018 13:37
Так написано ведь что утилитой для систем распознавания сканы правятся, упор на текстовое содержимое и потому чёрно-белое.
Для выпрямления обычных фоток другие инструменты используются. В GIMP плагин или скрипт такой есть, но названия его не помню, вот что точно помню так то что в digiKam такая функция раньше была, сам использовал, да много ещё какие редакторы это могут. На линухграфик.ру который сейчас digilinux.ru цикл статей по этому поводу был, но мне уже не надо было и я только краем глаза их пробежал.
3Аноним23-12-2022 14:44
Теперь есть плюсовая (не пайтон) версия: //github.com/ImageProcessing-ElectronicPublications/pagedewarp/releases
Вы можете войти под своим логином или зарегистрироваться на сайте.