Сканирование с помощью камеры

Иллюстрации

Показать все

Изобретение относится к устройствам захвата и обработки изображений. Техническим результатом является расширение арсенала технических возможностей устройств захвата и обработки изображений. Результат достигается тем, что изображение, захваченное камерой, обрабатывается для идентификации в пределах изображения частей, которые соответствуют прямоугольным объектам, таким как листы бумаги, визитные карточки, доски, экраны и т.д. Одна или более этих частей могут быть выбраны для сканирования автоматически на основе схемы оценок и/или полуавтоматически при помощи пользовательского ввода. Один или более отсканированных документов создаются из выбранных частей посредством исправления искажений выбранных частей для удаления эффектов перспективы (например, преобразования частей в прямоугольники) и применения различных улучшений для повышения качества изображения. 2 н. и 13 з.п. ф-лы, 5 ил.

Реферат

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

Варианты осуществления сканирования с помощью камеры описаны со ссылкой на следующие чертежи. Одинаковые номера используются во всех чертежах для ссылки на аналогичные признаки и компоненты.

Фиг. 1 иллюстрирует пример устройства, которое может реализовать различные варианты осуществления сканирования с помощью камеры.

Фиг. 2 показывает иллюстративную систему, в которой могут быть реализованы варианты осуществления сканирования с помощью камеры.

Фиг. 3 показывает иллюстративный способ (способы) для сканирования с помощью камеры в соответствии с одним или более вариантами осуществления.

Фиг. 4 показывает другой иллюстративный способ (способы) для сканирования с помощью камеры в соответствии с одним или более вариантами осуществления.

Фиг. 5 иллюстрирует различные компоненты иллюстративного устройства, которое может реализовать варианты осуществления сканирования с помощью камеры.

ПОДРОБНОЕ ОПИСАНИЕ

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

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

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

Фиг. 1 иллюстрирует пример 100 вычислительного устройства 102, которое может реализовать различные варианты осуществления сканирования с помощью камеры. Вычислительное устройство 102 является примером устройств различных типов, в том числе иллюстративных портативных устройств, описанных со ссылкой на фиг. 2, и также может быть реализовано с любым количеством и любыми комбинациями отличающихся компонентов, как описано со ссылкой на иллюстративное устройство, показанное на фиг. 4. Вычислительное устройство 102 включает в себя интегрированный экран 104 дисплея для отображения пользовательских интерфейсов, элементов и функциональных возможностей пользовательского интерфейса, выбираемых пользователем управляющих элементов, различных визуализируемых объектов и т.п. Вычислительное устройство 102 также включает в себя камеру 106 для захвата цифровых изображений. В изображенном примере камера 106 показана на стороне вычислительного устройства 102 напротив экрана 104 дисплея.

Вычислительное устройство 102 дополнительно включает в себя, по меньшей мере, драйвер 108 ввода для обработки различной входной информации от пользователя для управления вычислительным устройством 102. По меньшей мере, в некоторых вариантах осуществления экран 104 дисплея является сенсорным экраном, и драйвер 108 ввода работает для обнаружения и обработки множества сенсорных вводов и/или сенсорных событий. В варианте осуществления сенсорный ввод или сенсорное событие на сенсорном экране 104 могут быть инициированы для указания интересующей области и инициирования захвата изображения. Изображение может быть отображено на экране дисплея как предварительный просмотр изображения, которое будет захвачено, и сенсорное событие в конкретном местоположении на экране указывает, что изображение должно быть захвачено. Кроме того, конкретное местоположение идентифицируется как интересующее для функции оценки в последующих алгоритмах обработки. В соответствии с этим, сенсорный ввод может быть использован для выбора части изображения и инициирования камеры, делающей снимок, для захвата изображения.

Вычислительное устройство 102 также включает в себя прикладную программу 110 захвата для инициирования отображения пользовательского интерфейса 112 и различных элементов, функциональных возможностей и управляющих средств пользовательского интерфейса для обеспечения возможности захвата изображения через камеру 106 и обработки изображений. Кроме того, прикладная программа 110 захвата представляет функциональность вычислительного устройства 102 для реализации описанных здесь методов сканирования с помощью камеры. Иллюстративный пользовательский интерфейс 112 показан как интерфейс с разделением экрана, имеющий видоискатель 114 и отображение 116 отсканированного изображения. Видоискатель 114 может представлять текущие изображения от камеры 106 и переключаться для представления захваченного изображения, когда сделан снимок. Кроме того, пользователь может иметь возможность изменять и выбирать части захваченного изображения через взаимодействие с видоискателем 114.

Отображение 116 отсканированного изображения может представить одну или более частей захваченного изображения, которые обработаны прикладной программой 110 захвата для создания отсканированных документов. Разделение экрана дает возможность одновременного отображения захваченного изображения в видоискателе 114 и отсканированного документа, созданного из захваченного изображения, в отображении 116 отсканированного изображения. Таким образом, пользователь может видеть и захваченное изображение, и отсканированную часть изображения, и может интуитивно вносить изменения с использованием пользовательского интерфейса 112, например, изменение границ выбранной части или выбор другой части.

В варианте осуществления сканирования с помощью камеры пользователь вычислительного устройства 102 может инициировать сканирование с помощью камеры, делая снимок объекта 118. Объект 118 изображения может включать в себя один или более прямоугольных объектов, таких как документ, лист бумаги, визитная карточка, фотография, доска и т.д. В примере на фиг. 1 объект 118 выглядит как экран дисплея, который используется для деловой презентации. Когда делается снимок для инициирования сканирования с помощью камеры, прикладная программа 110 захвата захватывает изображение объекта 118 и может вывести изображение в видоискателе 114 пользовательского интерфейса 112.

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

По меньшей мере, в некоторых вариантах осуществления прикладная программа 110 захвата включает в себя или иным образом использует детектор края, выполненный с возможностью обнаруживать края на основе визуальных различий, таких как резкие изменения яркости. Одним из иллюстративных алгоритмов, подходящим для обнаружения краев, является алгоритм Канни (Canny). Когда края идентифицированы, к краям могут быть объединены в соединенные линии для формирования четырехугольников. Например, посредством обнаружения краев могут быть идентифицированы вершины (углы), и затем вершины могут быть соединены для формирования четырехугольников. Это может включать в себя, например, применение линейного преобразования Хью (Hough) для корректировки недостатков обнаруженных краев и получения линий, соответствующих краям. В соответствии с этим, может быть получено множество потенциальных четырехугольников с использованием обнаруженных краев и линий, причем линии обнаружены из аналогичным образом ориентированных краев вдоль конкретного направления, и затем они объединяются для формирования четырехугольников.

Прикладная программа 110 захвата может заставить появиться в пользовательском интерфейсе 112 индикаторы 120 для представления четырехугольников, которые обнаружены и/или выбраны в пределах захваченного изображения. Например, захваченное изображение в видоискателе 114 на фиг. 1 включает в себя индикаторы 120, выполненные как точки в вершинах и пунктирные линии, появляющиеся вдоль краев. Также рассматриваются другие индикаторы 120, такие как анимированные линии, изменения цвета, флаги и т.д. Потенциальные четырехугольники могут быть представлены через видоискатель, чтобы дать пользователю возможность выбрать один или более четырехугольников для сканирования.

В реализации прикладная программа 110 захвата может быть выполнена с возможностью автоматически выбирать один или более потенциальных четырехугольников для сканирования на основе схемы оценок. Схема оценок может оценивать потенциальные четырехугольники на основе множества критериев, в том числе, например, размера, местоположения, распознавания содержания, такого как текст и поверхности, и т.д. Четырехугольник с наибольшей оценкой может быть выбран автоматически. В другом примере могут быть выбраны любые четырехугольники, которые превышают пороговую оценку.

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

В реализации индикаторы 120 могут выбираться пользователем для изменения четырехугольника, например, посредством перетаскивания угла для изменения позиции угла. В другом примере пользователь может определить произвольный четырехугольник посредством выбора одного угла через взаимодействие с пользовательским интерфейсом 112. Прикладная программа 110 захвата может быть выполнена с возможностью автоматически получать соответствующий четырехугольник на основе выбора пользователем одного угла. Пользователь также может управлять инструментом выбора и перетаскивания пользовательского интерфейса 112 для идентификации области для произвольного четырехугольника. Когда вычислительное устройство 102 является сенсорным, пользователь может выполнить касание и перетаскивание непосредственно на экране 104 дисплея для изменения и определения четырехугольников. Для полуавтоматического выбора четырехугольников также могут использоваться другие устройства ввода данных, в том числе, например, перо, мышь, клавиши направления и/или другие подходящие устройства ввода данных.

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

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

Рассмотрим конкретный пример деловой презентации, показанной на фиг. 1. Деловая презентация появляется на экране дисплея и включает в себя текст и иллюстрацию человека. Когда пользователь делает снимок деловой презентации, изображение захватывается и может появиться в видоискателе 114. Следует заметить, что изображение кажется скошенным вследствие угла, под которым сделан снимок. Первоначально прикладная программа 110 захвата может идентифицировать границы экрана с использованием обсуждаемых здесь методик сканирования с помощью камеры. В соответствии с этим четырехугольник, соответствующий экрану, идентифицируется в видоискателе 114 с использованием индикаторов 120. Далее прикладная программа 110 захвата может первоначально представить отсканированную версию экрана, включающую в себя текст и иллюстрацию, через отображение 116 отсканированного изображения.

Однако в изображенном примере пользователь выбрал произвольный четырехугольник для выбора иллюстрации без текста. Например, пользователь может коснуться экрана 104 дисплея вычислительного устройства 102, чтобы выбрать угол и/или перетащить рамку выделения вокруг иллюстрации. В ответ на этот выбор выбранная часть (например, иллюстрация) сканируется посредством исправления искажений для удаления эффектов перспективы (например, наклон) и применения улучшений. Полученная отсканированная иллюстрация появляется в отображении 116 отсканированного изображения и может быть представлена одновременно с захваченной деловой презентацией в видоискателе 114 с использованием разделения экрана пользовательского интерфейса 112. Пользователь может использовать отсканированную иллюстрацию множеством способов, например, посредством добавления аннотации, совместного использования с коллегами, публикации на веб-сайте или блоге и т.д.

Фиг. 2 показывает иллюстративную систему 200, в которой могут быть реализованы различные варианты осуществления сканирования с помощью камеры. Иллюстративная система 200 включает в себя портативное устройство 202 например, проводное и/или беспроводное устройство, которое может являться любым одним устройством или комбинацией устройств из множества, состоящего из мобильного персонального компьютера 204, карманного компьютера (PDA), мобильного телефона 206 (например, сотового, VoIP, WiFi и т.д.), который реализован для передачи данных, обмена сообщениями и/или голосовых сообщений, устройства 208 портативного компьютера (например, ноутбука, ноутбука с сенсорным экраном и т.д.), мультимедийного устройства 210 (например, персонального медиапроигрывателя, переносного медиапроигрывателя и т.д.), устройства для игр, бытового устройства, электронного устройства и/или портативного устройства любого другого типа, которое может принимать, отображать и/или передавать данные в любой форме аудиоинформации, видеоинформации, и/или данных изображения.

Каждое из различных портативных устройств может включать в себя интегрированный дисплей и/или интегрированный сенсорный экран или другой дисплей, а также выбираемые элементы управления вводом, через которые пользователь может вводить данные и/или выбор. Например, мобильный персональный компьютер 204 включает в себя интегрированный сенсорный экран 212, на котором может быть отображен пользовательский интерфейс 214, включающий в себя визуализируемые объекты и/или элементы пользовательского интерфейса 216, такие как изображения, графика, текст, выбираемая кнопка, выбираемый пользователем элемент управления, выбор пункта меню, элемент карты и/или визуализируемая функциональная возможность или элемент пользовательского интерфейса любого другого типа. Пользовательский интерфейс 214 также может отображать захваченные и отсканированные изображения через разделение экрана в соответствии с одним или более описанными здесь вариантами осуществления сканирования с помощью камеры.

Любое из различных описанных здесь портативных устройств может быть реализовано с помощью одного или более датчиков, процессоров, компонентов связи, средств ввода данных, компонентов памяти, носителей данных, цепей обработки и управления и/или систем предоставления информационного содержания. Любое из портативных устройств также может быть реализовано для связи через сети связи, которые могут включать в себя сеть передачи данных, сеть передачи голоса, широковещательную сеть, сеть на основе протокола IP и/или беспроводную сеть любого типа, которые обеспечивает возможность передачи данных, обмена сообщениями и/или голосовой связи. Портативное устройство также может быть реализовано с помощью любого количества и комбинации отличающихся компонентов, как описано со ссылкой на иллюстративное устройство, показанное на фиг. 4. Портативное устройство также может быть привязано к пользователю (то есть человеку) и/или объекту, который управляет устройством, и, таким образом, портативное устройство описывает логические устройства, которые включают в себя пользователей, программное обеспечение и/или комбинацию устройств.

В этом примере портативное устройство 202 включает в себя один или более процессоров 218 (например, любой из микропроцессоров, контроллеров и т.п.), интерфейс 220 связи для передачи данных, обмена сообщениями и/или голосовой связи и средство 222 ввода данных для приема мультимедийного содержания 224. Мультимедийное содержание (например, для вставки записанного информационного содержания) может включать в себя аудиоинформацию, видеоинформацию и/или данные изображения любых типов, принятые из любого источника мультимедийного содержания или данных, такого как сообщения, телевещание, музыка, видеоклипы, каналы данных, интерактивные игры, сетевые прикладные программы и любое другое информационное содержание. Портативное устройство 202 реализовано с помощью диспетчера устройств 226, который включает в себя любой элемент или комбинацию элементов множества, состоящего из прикладной программы управления, прикладной программы, модуля обработки и управления сигналами, собственного кода конкретного устройства и/или уровня абстракции аппаратного оборудования для конкретного устройства.

Портативное устройство 202 включает в себя различное программное обеспечение и/или прикладные программы 228 мультимедиа, которые могут включать в себя такие компоненты, как прикладные программы 230 захвата, которые могут обрабатываться или иным образом исполняться процессорами 218. Прикладные программы 228 мультимедиа могут включать в себя аудиоплеер и/или видеоплеер, программу для работы с изображениями, веб-браузер, почтовую программу, программу связи, программу для работы с цифровыми фотографиями и т.п. Портативное устройство 202 включает в себя систему 232 представления для воспроизведения пользовательских интерфейсов из прикладных программ 230 захвата для формирования отображения на любом из портативных устройств. Система 232 представления также реализована для приема и воспроизведения любого вида аудиоинформации, видеоинформации и/или данных изображений, принятых из любого источника мультимедийного содержания и/или данных. Портативное устройство 202 также включает в себя камеру 234 и драйвер 236 ввода, который может включать в себя или иным образом использовать драйвер сенсорного экрана для сенсорного экрана 212. Драйвер 236 ввода может быть выполнен с возможностью обнаруживать и обрабатывать различную входную информацию и/или определяемые представления жестов, ввода и/или движений для управления функциональностью портативного устройства 202, в том числе работой прикладной программы 230 захвата для реализации сканирования с помощью камеры. Реализации прикладной программы 230 захвата и драйвера 236 ввода описаны в отношении прикладной программы 110 захвата и драйвера 108 ввода, показанных на фиг. 1, и со ссылкой на описанные здесь варианты осуществления сканирования с помощью камеры.

Иллюстративные способы 300 и 400 описаны со ссылкой на соответствующие фиг. 3 и 4 в соответствии с одним или более вариантами осуществления сканирования с помощью камеры. Обычно любая из описанных здесь функций, способов, процедур, компонентов и модулей может быть реализована с использованием аппаратных средств, программного обеспечения, программируемого оборудования, фиксированной логической схемы, ручной обработки или любой их комбинации. Реализация с помощью программного обеспечения представляет программный код, который выполняет указанные задачи при его исполнении компьютерным процессором. Иллюстративные способы могут быть описаны в общем контексте исполняемых компьютером команд, которые могут включать в себя программное обеспечение, прикладные программы, программы, подпрограммы, объекты, компоненты, структуры данных, процедуры, модули, функции и т.п. Способы могут также быть осуществлены в распределенной вычислительной среде посредством устройств обработки, которые соединены через сеть связи. В распределенной вычислительной среде исполняемые компьютером команды могут быть расположены как в локальных, так в удаленных компьютерных носителях данных и/или устройствах. Кроме того, описанные здесь функциональные возможности являются независимыми от платформы и могут быть реализованы на множестве вычислительных платформ, имеющих множество процессоров.

Фиг. 3 показывает иллюстративный способ (способы) 300 сканирования с помощью камеры. Порядок, в котором описан способ, не предназначен, чтобы его рассматривали как ограничение, и любое количество описанных этапов способа может быть объединено в любом порядке для реализации способа или альтернативного способа.

На этапе 302 обнаруживается ввод, который инициирует захват изображения. Например, драйвер 108 ввода в вычислительном устройстве 102 обнаруживает выбор пользователя для выполнения снимка объекта 118. Объект 118 может включать в себя один или более прямоугольных объектов, которые могут быть обнаружены для сканирования с помощью камеры. Захват может быть инициирован пользователем посредством манипулирования кнопкой сенсорного экрана, нажатием клавиши, работой специализированной кнопкой затвора вычислительного устройства 102 или другого подходящего средства ввода.

На этапе 304 изображение захватывается в ответ на ввод. Например, прикладная программа 110 захвата в вычислительном устройстве 102 может захватить изображение объекта 118 с использованием камеры 106 в ответ на ввод на этапе 302. Захваченное изображение может быть представлено через пользовательский интерфейс 112 вычислительного устройства 102.

На этапе 306 одна или более частей захваченного изображения сканируются на основе обнаружения четырехугольников в захваченном изображении. На этапе 308 к одному или более отсканированным частям применяются корректировки. Четырехугольники могут быть обнаружены в захваченном изображении с использованием множества методов. Например, прикладная программа 110 захвата в вычислительном устройстве 102 может идентифицировать четырехугольники с использованием любого из автоматического и полуавтоматического методов, обсужденных со ссылкой на фиг. 1, или их обоих. В другом примере может использоваться ручной метод, в котором захваченное изображение может быть представлено пользователю через вычислительное устройство 102 для ручного выбора четырехугольников. В этом примере функциональность автоматического обнаружения четырехугольников через прикладную программу 110 захвата может быть отключена, может не содержаться или может быть иным образом недоступна. Предусматриваются различные корректировки для повышения качества изображения одной или более отсканированных частей. Более подробная информация относительно методов обнаружения четырехугольников и повышения качества отсканированных изображений предоставлена ниже в отношении иллюстративного способа (способов) 400, показанного на фиг. 4.

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

Фиг. 4 показывает иллюстративный способ (способы) 400 сканирования с помощью камеры. В частности, фиг. 4 представляет иллюстративный алгоритм, который подходит для сканирования изображений, захваченных через камеру 106 вычислительного устройства 102. Порядок, в котором описан способ, не предназначен для того, чтобы его рассматривали как ограничение, и любое количество описанных блоков способа может быть объединено в любом порядке для реализации способа или альтернативного способа.

На этапе 402 захваченное изображение предварительно обрабатывается. Например, прикладная программа 110 захвата вычислительного устройства 102 может предварительно обработать захваченные изображения различными способами для подготовки изображения к сканированию с помощью камеры. В качестве примера, предварительная обработка может включать в себя применение фильтров изображения, улучшение контрастности, регулировку яркости, масштабирование, преобразование в оттенки серого (GS), медианную фильтрацию и т.д. В варианте осуществления предварительная обработка включает в себя один или более процессов из множества, состоящего из масштабирования изображения, улучшения контрастности и фильтрации шумов. Масштабирующийся может произойти для уменьшения разрешения изображения и количества пикселей в изображении для обработки. По мере увеличения разрешения в изображении потребляется больше вычислительных ресурсов для обработки изображения, и при обнаружении краев может быть получено больше ложных (например, нежелательных) краев. В соответствии с этим, масштабирование может ускорить обработку и дать возможность улучшенного обнаружения краев.

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

После предварительной обработки способ 400 может перейти к выполнению обнаружения четырехугольников в захваченном изображении. На этапе 404 обнаруживаются края в захваченном изображении. Края, которые обнаружены, могут соответствовать границам прямоугольных объектов в пределах изображения, таким как края визитной карточки, рамки картины, края экрана дисплея и т.д. Края могут быть обнаружены любым подходящим способом. Например, прикладная программа 110 захвата вычислительного устройства 102 может быть реализована для применения алгоритма Канни для обнаружения краев на основе резких изменений контрастности.

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

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

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

В варианте осуществления область, отсканированная для конкретной линии, может быть скорректирована на основе ориентации линии. Например, для линии, которая является в значительной степени горизонтальной, отсканированная область может включать в себя конфигурируемое количество пикселей выше/ниже пикселей линии. Аналогичным образом, для линии, которая является в значительной степени вертикальной, отсканированная область может включать в себя конфигурируемое количество пикселей слева/справа от пикселей линии.

На этапе 408 получаются возможные четырехугольники с использованием обнаруженных краев и линий. В частности, прикладная программа 110 захвата вычислительного устройства 102 может использовать края, обнаруженные на этапе 404, и линии, определенные на этапе 406, для создания возможных четырехугольников. Другими словами, различные линии могут быть объединены для формирования четырехугольников, причем линии обнаружены из аналогично ориентированных краев вдоль конкретного направления. Объединение линий для формирования четырехугольников может произойти множеством способов. В примере обнаруженные линии могут быть сначала обработаны, чтобы найти возможные четырехугольники на основе нахождения линий, которые формируют противоположные стороны четырехугольника. Обнаруженные линии могут быть обработаны снова, чтобы н