Способ и система исправления перспективных искажений в изображениях, занимающих двухстраничный разворот

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в возможности исправления перспективных искажений изображения открытого разворота многостраничного документа. Технический результат достигается за счет компонента мобильного устройства, ответственного за исправление искажений, который получает изображение отснятого разворота многостраничного документа, определяет положение линии переплета открытого разворота многостраничного документа, определяет первое множество почти вертикальных или вертикальных прямых линий, лежащих слева от линии переплета, и второе множество почти вертикальных или вертикальных прямых линий, лежащих справа от линии переплета, при этом почти вертикальные или вертикальные линии являются линиями с отклонением в положительную или отрицательную сторону на угол до 45 градусов. Координаты первого четырехугольника определяются на основании первой точки схода, координаты второго четырехугольника - на основании второй точки схода. Исправленное изображение первой страницы строится на основании первого четырехугольника, исправленное изображение второй страницы - на основании второго четырехугольника. 3 н. и 39 з.п. ф-лы, 23 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

[001] Настоящее изобретение в целом относится к вычислительным системам - а точнее, к выявлению и исправлению перспективных искажений в изображениях.

УРОВЕНЬ ТЕХНИКИ

[002] Оптическое распознавание символов (OCR) представляет собой электронное преобразование отсканированных или отснятых изображений машинописного или печатного текста в машиночитаемый текст. OCR является общепринятым методом оцифровки печатных текстов, позволяющим в дальнейшем редактировать их в электронном виде, производить в них поиск и отображать их в режиме онлайн. Он используется в таких технологиях, как преобразование текста в речь, извлечение данных и интеллектуальный анализ текста. В результате постраничной фотосъемки документа нередко возникают перспективные или геометрические искажения отснятых страниц. Эти искажения приводят к видимой деформации относительных пропорций размеров объектов или к нарушению выравнивания текста в пределах изображения. Степень искажения отдельных страниц при фотосъемке разворотов многостраничного документа нередко может меняться в широких пределах

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[003] Настоящее изобретение иллюстрируется с помощью примеров, но не ограничивается только ими, и может быть лучше понято при рассмотрении приведенного ниже описания предпочтительных вариантов реализации в сочетании с чертежами, на которых:

[004] На Фиг. 1 представлена схема компонентов верхнего уровня для примера архитектуры вычислительного устройства в соответствии с одним или более вариантами осуществления настоящего изобретения.

[005] На Фиг. 2 дан пример графического интерфейса пользователя (GUI) мобильного устройства, где GUI призван обеспечить исправление перспективных искажений изображения, полученного съемкой разворота многостраничного документа, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[006] На Фиг. 3А дан наглядный пример изображения открытого книжного разворота, где показана линия переплета, которая соединяет две страницы, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[007] На Фиг. 3В дан наглядный пример изображения открытого книжного разворота после преобразования с использованием приема «нерезкое маскирование», в соответствии с одним или более вариантами осуществления настоящего изобретения.

[008] На Фиг. 3С дан наглядный пример изображения открытого книжного разворота после преобразования в двоичную форму, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[009] На Фиг. 3D дан наглядный пример изображения открытого книжного разворота после преобразования с применением субдискретизации, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0010] На Фиг. 3Е дан наглядный пример изображения открытого книжного разворота после преобразования с применением морфологической операции, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0011] На Фиг. 3F дан пример изображения открытого книжного разворота после преобразования с применением другой морфологической операции, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0012] На Фиг. 3G дан пример изображения открытого книжного разворота после преобразования с применением другой морфологической операции, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0013] На Фиг. 3Н дан пример изображения открытого книжного разворота после преобразования с применением другой морфологической операции, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0014] На Фиг. 3I дан наглядный пример параметризации, использованной в алгоритме быстрого преобразования Хафа, в соответствии с одним или более вариантами

осуществления настоящего изобретения.

[0015] На Фиг. 4А дан пример изображения открытого книжного разворота с сопряженными точками схода для левой и правой страниц, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0016] На Фиг. 4В дан пример изображения открытого книжного разворота с сопряженными четырехугольниками, соответствующими искажению изображения для левой и правой страниц, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0017] На Фиг. 5 даны примеры изображений левой и правой страниц открытого книжного разворота с исправленной перспективой, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0018] На Фиг. 6 представлена блок-схема реализации способа исправления перспективных искажений изображения открытого книжного разворота многостраничного документа, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0019] На Фиг. 7 представлена блок-схема реализации способа определения линии переплета на изображении открытого книжного разворота многостраничного документа, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0020] На Фиг. 8 представлена блок-схема реализации способа определения множества почти вертикальных или вертикальных прямых линий на изображении открытого книжного разворота многостраничного документа, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0021] На Фиг. 9 представлена блок-схема реализации способа определения точки схода для изображения левой страницы открытого книжного разворота многостраничного документа, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0022] На Фиг. 10 представлена блок-схема реализации способа определения точки схода для изображения правой страницы открытого книжного разворота многостраничного документа, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0023] На Фиг. 11 представлена блок-схема реализации способа определения четырехугольника для изображения левой страницы открытого книжного разворота многостраничного документа, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0024] На Фиг. 12 представлена блок-схема реализации способа определения четырехугольника для изображения правой страницы открытого книжного разворота многостраничного документа, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0025] На Фиг. 13 представлена блок-схема реализации способа получения исправленного изображения отдельно взятой страницы, в соответствии с одним или более вариантами осуществления настоящего изобретения.

[0026] На Фиг. 14 представлена блок-схема иллюстративной вычислительной системы, взятой как пример и работающей в соответствии с примерами осуществления настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[0027] Ниже дается описание способов и систем, предназначенных для исправления перспективных искажений отснятого изображения открытого разворота многостраничного документа. В результате постраничной фотосъемки документа нередко возникают перспективные или геометрические искажения отснятых страниц. Эти искажения приводят к видимой деформации относительных пропорций размеров объектов или к нарушению выравнивания текста в пределах изображения. Степень искажения отдельных страниц при фотосъемке разворотов многостраничного документа нередко может меняться в широких пределах. Типовые способы исправления графических искажений предполагают, что предпринимается попытка исправления искажений всего изображения, при этом не всегда возможен учет различной степени искажения разных страниц разворота многостраничного документа. В силу этого «исправленное» изображение на деле может и не обеспечивать должного исправления перспективных искажений для каждой из двух страниц.

[0028] Варианты осуществления настоящего изобретения призваны способствовать решению указанной задачи наряду с исправлением других отмеченных недостатков благодаря использованию подхода, учитывающего различную степень искажения для разных страниц разворота многостраничного документа в процессе исправления искажений отснятых страниц такого документа. Производится анализ изображения отснятого разворота многостраничного документа с целью определения положения линии переплета документа (корешка раскрытой книги). Далее изображение делят на части для того, чтобы работа с левой и правой страницами разворота многостраничного документа производилась независимым образом, при этом переплет служит своего рода опорной линией и указывает направление. Благодаря этому становится возможным исправление каждой страницы разворота многостраничного документа в зависимости от степени перспективного искажения именно этой страницы. В итоге получают исправленное изображение каждой страницы разворота, дающее более точное представление о виде этой страницы. После создания исправленных изображений возможна дальнейшая обработка каждого из исправленных изображений. К примеру, возможно исправление перспективных искажений по горизонтали для каждой отдельно взятой страницы. Кроме того, для каждой отдельно взятой страницы можно выполнить оптическое распознавание символов (OCR).

[0029] В одном из иллюстративных примеров представлена вычислительная система, реализующая метод настоящего изобретения и способная производить исправление искажений отснятого изображения разворота многостраничного документа. С этой целью система вначале может получить извне изображение отснятого разворота многостраничного документа. Отснятый разворот многостраничного документа может состоять из двух или большего числа страниц, соединенных между собой линиями переплета. К примеру, отснятый разворот многостраничного документа может представлять собой открытый разворот книги, в котором разделителем между двумя страницами служит линия переплета (корешка) книги. Отснятый разворот многостраничного документа может представлять собой и документ, сложенный в «гармошку» по сгибам (к примеру, это может быть туристический буклет, карта и т.д.), при этом каждые две части документа разделены сгибом.

[0030] В некоторых вариантах реализации способа изображение может быть получено через пользовательский интерфейс, призванный облегчать пользователю задачу получения изображения отснятого разворота многостраничного документа. Интерфейс пользователя может быть представлен компонентом, ответственным за исправление искажений, выполняемым в мобильном устройстве. Компонент, ответственный за исправление искажений, может представлять собой мобильное приложение (или часть мобильного приложения), установленное на мобильном устройстве, включающего камеру, способную принимать изображение - к примеру, это может быть мобильный телефон, карманный компьютер (КПК), цифровой фотоаппарат, видеокамера, ноутбук и т.д. Например, пользователь может запустить приложение в мобильном телефоне с камерой, после чего будет показан интерфейс пользователя, позволяющий получить фотоснимок многостраничного документа. Как альтернативный вариант, приложение может получать изображение открытого книжного разворота многостраничного документа через импорт изображения из фотоархива (фототеки), сохраняемого в мобильном устройстве, путем скачивания изображения с внешнего источника, путем захвата кадра из потокового видео или любым другим путем. В качестве еще одного альтернативного варианта компонент, ответственный за исправление искажений, может выполняться на сетевом компьютере (сервере), куда изображение открытого разворота многостраничного документа может поступать по сети с мобильного устройства.

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

[0032] В некоторых реализациях данного способа компонент, ответственный за исправление искажений, может вначале трансформировать изображение путем выполнения одной или нескольких подготовительных операций. Подготовительные операции предобработки изображений могут конвертировать изображение из полноцветного в полутоновое, уменьшать размер изображения, уменьшать разрешение изображения, выполнять математические морфологические операции (эрозия, морфологический градиент и т.д.), выполнять фильтрацию шума (к примеру, для усиления целевого сигнала), повышать резкость изображения (прием нерезкого маскирования), выполнять бинаризацию и т.п. Операции предобработки изображений способны улучшать результаты выявления прямых линий и границ объектов в пределах изображения благодаря повышению контрастности между темными и светлыми областями изображения. Помимо этого, использование операций предобработки с целью уменьшения размеров изображения способствует сокращению объема необходимых вычислений и тем самым улучшает технические характеристики компонента, ответственного за исправление искажений в мобильном устройстве.

[0033] В одном из иллюстративных примеров компонент, ответственный за исправление искажений, может преобразовывать изображение в полутоновое изображение с использованием техники контвертации из полноцветного изображения в полутоновое. Далее компонент, ответственный за исправление искажений, может применять к полутоновому изображению прием «нерезкое маскирование». Затем компонент, ответственный за исправление искажений, может определять пространственную ориентацию изображения. Если изображение ориентировано таким образом, что линия переплета с наибольшей вероятностью располагается горизонтально, то может оказаться целесообразным повернуть изображение на 90 градусов (по часовой либо против часовой стрелки) для того, чтобы линия переплета на изображении заняла вертикальное положение. Далее полутоновое изображение может быть преобразовано в бинаризованную форму; с этой целью полутоновое изображение подвергают бинаризации. Далее бинаризованное изображение может быть преобразовано в изображение с пониженным разрешением, при этом размер бинаризованного изображения уменьшают до определенной, заранее заданной величины. К примеру, растровая ширина бинаризованного изображения может быть уменьшена до 800 пикселей. В некоторых вариантах реализации способа, кроме того, может быть уменьшена и растровая высота бинаризованного изображения с таким расчетом, чтобы она была кратна степени двойки (к примеру, 256 пикселей, 512 пикселей и т.д.).

[0034] Затем компонент, ответственный за исправление искажений, может преобразовывать изображение с пониженным разрешением в видоизмененную форму путем применения к нему по меньшей мере одной морфологической операции. К примеру, компонент, ответственный за исправление искажений, может применить к изображению с пониженным разрешением морфологическую операцию «верх шляпы» (TopHat), которая «очищает» изображение от темных элементов большого размера (создавая при этом «морфологическое изображение 1»). К примеру, в качестве фильтра для операции «верх шляпы» (TopHat) можно взять структурирующий элемент размерности 11×11. Далее к изображению можно применить операцию дилатации, что позволяет удалить из него весь текст (создавая при этом «морфологическое изображение 2»). К примеру, в качестве фильтра для операции дилатации можно взять структурирующий элемент размерности 1×7, центрированный по вертикали. В результате такой операции может получиться изображение, в котором из всех линий сохранены главным образом вертикальные. Далее компонент, ответственный за исправление искажений, может создавать третье изображение, подвергнутое морфологической трансформации («морфологическое изображение 3»), - с этой целью проводится попиксельное сканирование «морфологического изображения 2» и из яркости пикселя «морфологического изображения 2» вычитается яркость пикселя «морфологического изображения 1». Далее компонент, ответственный за исправление искажений, может создавать модифицированное изображение, предназначенное для преобразования Хафа, - с этой целью проводится попиксельное сканирование «морфологического изображения 2» и к яркости пикселя «морфологического изображения 3 » прибавляется яркость пикселя «морфологического изображения 2».

[0035] Далее компонент, ответственный за исправление искажений, может определять положение линии переплета открытого разворота многостраничного документа. Линия переплета может соответствовать области изображения, где расположен переплет (корешок) открытого разворота многостраничного документа. Линия переплета может представлять собой линию, которая соединяет страницы документа. На изображении раскрытой книги линия переплета может представлять собой линию разреза, указывающую место, где две страницы книги разделены переплетом. На изображении документа, сложенного «гармошкой», линия переплета может представлять собой линию разреза, указывающую место расположения складки. В некоторых вариантах реализации способа линия переплета может представлять собой прямую, проходящую почти вертикально и имеющую отношение к месту соединения двух страниц открытого разворота многостраничного документа. Для определения местонахождения линии переплета могут применяться алгоритмы преобразования Хафа или быстрого преобразования Хафа, детектор границ Кэнни или любой аналогичный метод поиска прямых линий на изображении.

[0036] В некоторых вариантах реализации способа компонент, ответственный за исправление искажений, может определять положение линии переплета при помощи алгоритма преобразования Хафа. Алгоритм преобразования Хафа - это алгоритм, предназначенный для определения на изображении объектов, принадлежащих к определенному классу форм, при помощи голосования. Чтобы определить положение прямых линий, преобразование Хафа использует представление изображения в угловых (полярных) координатах с параметризацией ρ=х cos(θ)+y sin(θ), где ρ - кратчайшее расстояние от прямой до начала координат и θ - угол между нормалью к прямой и горизонтальной осью (абсцисс). Таким образом, каждой прямой на изображении можно поставить в соответствие пару чисел (ρ, θ). Плоскость (ρ, θ) отвечает пространству Хафа. Для любой точки с координатами (х0, уо) каждая из прямых, проходящих через точку в пространстве Хафа, удовлетворяющую уравнению ρ=х0 cos(θ)+у0 sin(θ), представляет собой синусоиду в пространстве Хафа, которая, в свою очередь, позволяет однозначно определить точку на изображении.

[0037] В преобразовании Хафа используется двумерный массив, именуемый аккумуляторным массивом, с целью отбора множества линий, претендующих на роль линии переплета. Размерность аккумуляторного массива соответствует количеству неизвестных параметров, т.е. двум (это следует из рассмотрения дискретных значений ρ и θ в паре (ρ, θ)). В аккумуляторном массиве накапливаются числовые значения, указывающие на вероятность наличия на изображении прямой ρ0=х cos(θ0)+у sin(θ0), где паре ρ, θ соответствуют дискретные значения ρ0, θ0. Для каждого пикселя на плоскости с координатами (х, у) и его окрестности алгоритм преобразования Хафа определяет, достаточен ли вес границы в этом пикселе. Если он достаточен, то алгоритм преобразования Хафа вычисляет параметры (ρ, θ) этой прямой и увеличивает значение в ячейке аккумулятора, соответствующей данным параметрам. После обработки всех пикселей выполняется поиск локальных максимумов в аккумуляторном массиве, соответствующих параметрам наиболее вероятных прямых на изображении.

[0038] Может осуществляться предварительная фильтрация, цель которой - более четкая локализация или указание максимальных значений в аккумуляторном массиве за счет подавления сигнала от облака окружающих точек со сходными значениями. К примеру, может быть применен фильтр, подавляющий сигнал от всех точек в аккумуляторном массиве, не являющихся локальными максимумами (т.е. осуществляющий «фильтрацию с подавлением немаксимумов»). Этот фильтр применяется к заданной окрестности точек (например, 5×5 пикселей) и уменьшает числовое значение (вес) немаксимальных точек (например, в 2 раза). Пороговые характеристики фильтрации, в том числе пороговое значение, могут быть либо предварительно заданными (фиксированными), либо подгоночными параметрами, которые вычисляются с учетом особенностей аккумуляторного массива. В последнем случае расчет порогового значения может осуществляться на основе наибольшего максимума - к примеру, пороговое значение может быть задано вдвое ниже этого максимума. Затем производится фильтрация аккумуляторного массива по критерию этого порогового значения. Точки, лежащие выше порогового значения, представляют одну или несколько выявленных прямых линий.

[0039] В некоторых вариантах реализации способа компонент, ответственный за исправление искажений, может использовать предварительно заданное распределение для оценки места расположения линии переплета вдоль горизонтальной координатной оси (оси х). К примеру, компонент, ответственный за исправление искажений, может сосредоточить поиск в области изображения, размер которой не превышает 1/6 ширины изображения в любую сторону от середины горизонтального края изображения. Таким образом, поиск переплета может быть сосредоточен в области с границами от 1/3 ширины изображения (считая от левого края изображения) до 2/3 ширины изображения (считая от левого края изображения). Помимо этого, может заранее вводиться ограничение для диапазона утла поиска потенциальной линии переплета. К примеру, угол поиска может быть ограничен диапазоном от -22,5 градусов до +22,5 градусов. В некоторых вариантах реализации способа этот диапазон может задаваться в настройках вручную, при этом для него допускается автоматическое уточнение по результатам статистического анализа мест расположения линий переплета в документах, отснятых ранее.

[0040] После этого компонент, ответственный за исправление искажений, может, в дополнение к линии переплета, выполнить поиск и других прямых линий на изображении открытого разворота многостраничного документа. Распознавание прямых линий и поиск их местонахождения относительно линии переплета может проводиться отдельно и независимо для каждой страницы разворота. Вначале компонент, ответственный за исправление искажений, может определить первое множество почти вертикальных или вертикальных прямых линий, лежащих слева от линии переплета на изображении открытого разворота многостраничного документа, - именно тех линий, которые составляют содержание левой страницы открытого разворота многостраничного документа. Затем компонент, ответственный за исправление искажений, может определить второе множество почти вертикальных или вертикальных прямых линии и лежащих справа от линии переплета на изображении открытого разворота многостраничного документа, - именно тех линий, которые составляют содержание правой страницы открытого разворота многостраничного документа. [0041] Для определения дополнительных множеств почти вертикальных или вертикальных прямых линий могут быть рассмотрены пиксели, связанные с теми или иными областями изображения, может быть выполнено преобразование Хафа, быстрое преобразование Хафа; можно также воспользоваться детектором границ Кэнни или иным аналогичным приемом. В некоторых вариантах реализации способа для определения дополнительных множеств почти вертикальных или вертикальных прямых линий можно применить метод, отличный от метода, использованного для нахождения линии переплета. К примеру, для нахождения линии переплета можно применить алгоритм преобразования Хафа, а для определения дополнительных множеств почти вертикальных или вертикальных прямых линий можно применить алгоритм быстрого преобразования Хафа.

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

[0043] В одном из иллюстративных примеров ширина изображения открытого разворота многостраничного документа может быть увеличена для того, чтобы уменьшить вероятность того, что алгоритм преобразования проигнорирует пиксели, расположенные у левого и правого краев изображения. К примеру, компонент, ответственный за исправление искажений, может увеличить ширину изображения в пропорции, зависящей от высоты изображения. Так, компонент, ответственный за исправление искажений, может вначале определить высоту изображения (например, в пикселях). Затем компонент, ответственный за исправление искажений, может увеличить ширину изображения в левую сторону на число пикселей, соответствующее высоте изображения, и увеличить ширину изображения в правую сторону на число пикселей, соответствующее высоте изображения. Так, если высота изображения равна 200 пикселей, а ширина изображения - 300 пикселей, то в результате предобработки изображения его ширина будет увеличена на 200 пикселей справа и на 200 пикселей слева; при этом ширина нового изображения составит 700 пикселей, а его содержательная часть, соответствующая оригинальному изображению, окажется в центре нового изображения. Вновь созданные области по обеим сторонам изображения, размером по 200×200 пикселей, способствуют уменьшению вероятности того, что алгоритм преобразования проигнорирует пиксели, расположенные у самых краев исходного изображения.

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

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

[0046] В одном из других вариантов реализации способа компонент, ответственный за исправление искажений, может применить к изображению параметрическую трансформацию. К примеру, компонент, ответственный за исправление искажений, может применить к изображению быстрое преобразование Хафа. Быстрое преобразование Хафа может иметь некоторые преимущества перед обычным преобразованием Хафа в силу того, что диапазон поиска для почти вертикальных или вертикальных прямых линий может быть существенно шире (к примеру, не ограничиваясь одной лишь линией переплета), а отсюда вытекает необходимость исследования большего числа пикселей изображения. Соответственно, применение быстрого преобразования Хафа может потребовать меньшего объема вычислений и оказаться предпочтительнее при запуске на исполнение с мобильных устройств.

[0047] В отличие от плоскости в координатах (ρ, θ), используемой в ходе преобразования Хафа, указанного выше, алгоритм быстрого преобразования Хафа может быть реализован в координатах (х, shift), где х - координата точки пересечения ранее найденной линии переплета с верхним краем изображения, a shift - смещение по горизонтали от линии переплета поперек изображения в направлении, параллельном нижнему краю. В некоторых вариантах реализации способа с целью определения положения почти вертикальных или вертикальных прямых линий анализу подвергают лишь часть пространства Хафа. В одном из иллюстративных примеров диапазон сканирования угла алгоритмом быстрого преобразования Хафа может быть ограниченным и составлять от -45 градусов до +45 градусов. Тем самым удается обнаружить почти вертикальные или вертикальные прямые линии, с отклонением в положительную и отрицательную сторону на угол до 45 градусов.

[0048] В одном из вариантов реализации способа, как и ранее, может быть задействован алгоритм подавления немаксимумов в пространстве преобразования Хафа. Как отмечалось выше, может оказаться целесообразной предварительная фильтрация, цель которой - более четкая локализация или указание максимальных значений в аккумуляторном массиве за счет подавления сигнала от облака окружающих точек со сходными значениями. К примеру, может быть применен фильтр, подавляющий сигнал от всех точек в аккумуляторном массиве, не являющихся локальными максимумами. Этот фильтр может накладываться на заданную область (например, на область 5×5 пикселей), уменьшая числовое значение (вес) немаксимальных точек (например, в 2 раза). Пороговые характеристики фильтрации, в том числе пороговое значение, могут быть либо предварительно заданными (фиксированными), либо подгоночными параметрами, которые вычисляются с учетом особенностей аккумуляторного массива. В последнем случае при вычислении порога можно исходить из точек, имеющих максимальную яркость. К примеру, может быть задан порог 1/5 (20%) от максимального значения яркости пикселя. Затем может производиться фильтрация аккумуляторного массива по критерию этого порогового значения. Таким образом, в данной области пространства точкам, яркость которых больше или равна пороговому значению (20% от максимальной яркости), может соответствовать одна или несколько прямых линий, положение которых установлено.

[0049] Как только установлено положение почти вертикальных или вертикальных прямых линий для изображения страниц открытого разворота многостраничного документа, компонент, ответственный за исправление искажений, может начать определение всевозможных искажений в пределах изображения открытого разворота многостраничного документа, рассматривая их в параметрической связи с перспективой. В основе таких расчетов могут лежать точки схода - одна для левой страницы и одна для правой страницы. Точка схода - это точка на бесконечности, лежащая на пересечении параллельных прямых, рассматриваемых в перспективе. В некоторых вариантах реализации способа точки схода могут быть найдены при помощи ранее выявленных множеств почти вертикальных или вертикальных прямых линий, описанных выше. Как только найдены точки схода, для каждой страницы изображения могут быть построены четырехугольники, форма которых соответствует перспективным искажениям. Затем может осуществляться преобразование координат, переводящее четырехугольник в прямоугольник, то есть спрямляющее перспективу изображения.

[0050] Компонент, ответственный за исправление искажений, может вначале определить первую точку схода для левой страницы открытого разворота многостраничного документа, беря за основу первое дополнительное множество почти вертикальных или вертикальных прямых линий, а также линию переплета. Затем компонент, ответственный за исправление искажений, может определить вторую точку схода для правой страницы открытого разворота многостраничного документа, беря за основу второе дополнительное множество почти вертикальных или вертикальных прямых линий, а также линию переплета. Чтобы определить положение точек схода, компонент, ответственный за исправление искажений, может вначале определить множество числовых значений, соответствующих отдельным пикселям изображения. Затем компонент, ответственный за исправление искажений, может построить множество преобразованных значений, применяя преобразование к указанному множеству числовых значений. К примеру, компонент, ответственный за исправление искажений, может преобразовать числовые значения, воспользовавшись одним из описанных выше методов преобразований (преобразование Хафа, быстрое преобразование Хафа и т.д.). Следует отметить, что сам порядок описания обработки изображений, когда вначале работают с левой страницей разворота многостраничного документа, выбран таким исключительно ради простоты: в других вариантах осуществления изобретения порядок обработки страниц многостраничного документа может быть иным. К примеру, в одном из вариантов осуществления изобретения компонент, ответственный за исправление искажений, может вначале находить левую точку схода (для левой страницы), затем находить правую точку схода (для правой страницы). В одном из других вариантов осуществления изобретения компонент, ответственный за исправление искажений, может вначале находить правую точку схода, а затем левую точку схода. В других вариантах осуществления изобретения может быть предусмотрено одновременное определение левой и правой точек схода.

[0051] Затем компонент, ответственный за исправление искажений, может определить кластеры преобразованных значений в пространстве преобразования (например, в пространстве Хафа). Для случая открытого разворота многостраничного документа, состоящего из двух страниц, компонент, ответственный за исправление искажений, может определить три кластера преобразованных значений: центральный кластер, то есть множество преобразованных значений, соответствующих переплету; левый кластер, то есть множество преобразованных значений, соответствующих почти вертикальным или вертикальным прямым линиям, лежащим по левую сторону от линии переплета (