ОБНАРУЖЕНИЕ БЛИКА В КАДРЕ ДАННЫХ ИЗОБРАЖЕНИЯ
GLARE DETECTION IN THE IMAGE DATA FRAME

УРОВЕНЬ ТЕХНИКИ
[0001] Различные мобильные устройства оснащены встроенной камерой. Фотографии, полученные с помощью мобильных устройств, могут содержать различные типы дефектов, такие как размытые области (смаз), нечеткие или расфокусированные области, области с бликом и др. Прежде чем фотография сцены получена, сцена может быть отображена на экране видоискателя. Определение момента совершения съемки для получения кадра с минимальным количеством дефектов на нем, может быть проблемной задачей. Дефекты в отснятых изображениях могут быть вызваны одной или несколькими различными причинами: ограниченным разрешением матрицы камеры, недостатками оптической системы электронного устройства, применением алгоритмов кодирования данных, а также нечувствительными или неподходящими алгоритмами сжатия. Недостатки в использовании мобильных камер, такие как дрожания рук или неидеальные условия освещения, также могут стать причиной возникновения дефектов на полученных изображениях. К числу таких дефектов можно отнести оптические искажения, смаз, вызванный ограниченной скоростью затвора; зашумленности; эффект сглаживания; расфокусировку; блик на изображениях и т.д. Подобные дефекты могут негативно повлиять на обработку отснятого изображения.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0002] В настоящем описании представлены системы, машиночитаемые носители и способы обнаружения блика в кадре данных изображения. Сначала кадр подвергается предварительной обработке. Определяется множество связных компонент в предварительно обработанном кадре. Рассчитывается множество статистик для одной или нескольких связных компонент в множестве связных компонент. Происходит принятие решения для одной или нескольких связных компонент, на основе рассчитанного множества статистик о том, является ли данная связная компонента засветом. Определяется наличие блика в кадре.
[0003] Описаны системы, машиночитаемые носители и способы предварительного анализа данных на изображении, например, кадра (текущего вида или сцены) на дисплее видоискателя до момента совершения съемки изображения, а также осуществления контроля создания изображений с помощью камеры, встроенной в портативное электронное устройство. В различных вариантах осуществления, результаты предварительного анализа кадра отображаются в виде визуальных сигналов на экране в режиме реального времени. Данные визуальные сигналы могут существенно упростить процесс получения снимков и улучшить качество полученных снимков.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0004] Вышеуказанные и другие особенности настоящего изобретения будут более очевидными из приведенного ниже описания и прилагаемой формулы изобретения, рассматриваемых совместно с прилагаемыми чертежами. Представленные чертежи демонстрируют лишь несколько вариантов реализации описываемого изобретения в соответствии с раскрытием данного изобретения и, следовательно, не должны рассматриваться как ограничивающие область описываемого изобретения. Изобретение будет раскрыто с дополнительной конкретизацией и подробностями посредством прилагаемых чертежей.
[0005] Фиг. 1A иллюстрирует экран электронного устройства, содержащий фрагмент кадра на экране видоискателя с наличием области смаза в кадре в соответствии с реализацией настоящего описания.
[0006] Фиг. 1Б иллюстрирует фрагмент кадра, проиллюстрированного на Фиг. 1A, после бинаризации в соответствии с реализацией настоящего описания.
[0007] Фиг. 2 является блок-схемой алгоритма, иллюстрирующего реализацию обнаружения областей смаза и расфокусировки в соответствии с реализацией настоящего описания.
[0008] Фиг. 3 является блок-схемой алгоритма, иллюстрирующего реализацию обнаружения бликов в соответствии с реализацией настоящего описания.
[0009] Фиг. 4A иллюстрирует пример лапласиан-изображения, полученного из фрагмента, изображенного на Фиг. 1A в соответствии с реализацией настоящего описания.
[0010] Фиг. 4Б иллюстрирует границы объектов для фрагмента 1А, полученного из лапласиан-изображения, проиллюстрированного на Фиг. 4А, с помощью применения фильтра нулевого контура в соответствии с реализацией настоящего описания
[0011] Фиг. 5А иллюстрирует профиль второй производной в направлении градиента для точки 402 на Фиг. 4А в соответствии с одним из вариантов реализации настоящего изобретения.
[0012] Фиг. 5Б иллюстрирует представление в пространстве признаков в виде восьми векторов (расположенных под углом 45 градусов между друг другом) и эллипс, соответствующий тензору инерции, вычисленный для них в соответствии с реализацией настоящего описания.
[0013] Фиг. 6А иллюстрирует пример кадра, содержащего блик в соответствии с реализацией настоящего описания.
[0014] Фиг. 6Б иллюстрирует фрагмент кадра, проиллюстрированного на Фиг. 6А, после бинаризации в соответствии с реализацией настоящего описания.
[0015] Фиг. 7А, 7Б иллюстрируют примеры бинаризации исходного кадра на Фиг. 6А с различными субоптимальными порогами бинаризации в соответствии с реализацией настоящего описания.
[0016] Фиг. 8 иллюстрирует обнаруженную односвязную область, пример блика, градиент яркости которого направлен к центру в соответствии с реализацией настоящего описания.
[0017] Фиг. 9А, 9Б и 9В иллюстрируют примеры скриншотов экранов, включающих прямоугольную сетку для обозначения дефектов в соответствии с реализацией настоящего описания.
[0018] Фиг. 10 иллюстрирует пример скриншота экрана, включающего гексагональную сетку для обозначения дефектов в соответствии с реализацией настоящего описания.
[0019] Фиг. 11А, 11Б, и 11В иллюстрируют примеры скриншотов экранов, которые включают цветовое представление для обозначения типов и уровня обнаруженных дефектов в кадре в соответствии с реализацией настоящего описания.
[0020] Фиг. 12 иллюстрирует линию вокруг области обнаруженного блика в кадре и позволяет скорректировать границу дефекта в соответствии с реализацией настоящего описания.
[0021] Фиг. 13 иллюстрирует пример компьютерной системы или устройства для применения техник, описанных здесь.
[0022] Нижеследующее подробное описание содержит ссылки на прилагаемые иллюстрации. На чертежах одинаковые символы обычно используются для идентификации одинаковых компонентов, если контекст не требует иного. Варианты реализации, представленные в подробном описании, чертежах и формуле изобретения, не служат для ограничения области его применения. Помимо этого могут использоваться другие варианты реализации, а также могут вноситься другие изменения, которые не вызывают отступления от сущности или объема представленного в данном описании предмета изобретения. Важно отметить, что компоненты раскрываемого изобретения, представленного и проиллюстрированного в настоящем описании, можно сочетать, взаимно заменять и применять множеством различных способов, при этом все они являются равнозначными и относятся к области раскрываемого изобретения.
ДЕТАЛЬНОЕ ОПИСАНИЕ
[0023] Применения различных описанных реализаций относятся к анализу кадра данных изображения, с целью обнаружения дефектов в данном кадре. Кадр может представлять собой данные, отображаемые в видоискателе. Обнаруженные дефекты могут быть проанализированы перед выводом изображения пользователю. Оценка кадра на наличие в нем дефектов может быть использована для того, чтобы исключить съемку изображений, которые плохо подходят или совсем непригодны для распознавания. Предварительные результаты обнаружения дефектов в кадре могут отображаться непосредственно на экране мобильного устройства для того, чтобы улучшить условия съемки для повышения качества изображения. Например, дефекты могут быть выделены визуально, или же пользователь может быть информирован об обнаруженных дефектах в кадре посредством мобильного устройства.
[0024] В другом варианте реализации, производится анализ кадра отображаемой на экране видоискателя электронного устройства сцены. Отображение кадра на экране мобильного устройства может производиться в режиме реального времени без записи видео или съемки изображения и без сохранения кадра в долгосрочной памяти электронного устройства. Анализ может выполняться на нескольких кадрах, далее выбирается кадр, содержащий наименьшее количество шума и дефектов. Этот кадр может быть отображен наряду с результатами обнаруженных дефектов в виде визуальных сигналов. Соответственно смаз, расфокусировка и блик могут быть обнаружены, и области с дефектами могут быть отображены на дисплее электронного устройства.
[0025] В другом варианте реализации, захват изображения, представленного в кадре, может осуществляться автоматически, если уровень дефектов в кадре не превышает некоторое пороговое значение. Соответственно, предварительный анализ кадра на основе данных, полученных при помощи линзы камеры, может быть использован для определения момента, когда снять и сохранить в памяти устройства изображение сцены, представленной в кадре.
[0026] В последующем описании, термин «кадр» обозначает некий контент, например, изображение, отображаемое на экране электронного устройства, получаемое с использованием видоискателя камеры. Этот кадр может передаваться на дисплей электронного устройства в режиме реального времени без осуществления записи видео или съемки/сохранения изображения в долгосрочной памяти.
[0027] Существует множество портативных электронных устройств с экранами, способными отображать текст и/или изображения. Эти портативные устройства обычно оснащены камерой, которая позволяет данным устройствам снимать изображения. К устройствам с дисплеем и (или) сенсорным экраном и камерой относятся многие портативные устройства, такие как ноутбуки, планшетные компьютеры, смартфоны, мобильные телефоны, карманные персональные компьютеры (КПК) и т.д. Существуют различные способы, предназначенные для облегчения автоматического получения или съемки изображения документа, содержащего текст, так чтобы уровень дефектов в кадре не превышал некоторого порогового значения.
[0028] Фиг. 1А представляет пример экрана электронного устройства 102, содержащем кадр 108 в видоискателе в соответствии с одним из вариантов реализации данного изобретения. Электронное устройство 102 имеет экран дисплея 104 и кнопку камеры 106 для запуска и выполнения съемки изображения/кадра камерой, встроенной в электронное устройство. Кнопка 106 может быть отображена на экране электронного устройства в виде виртуальной кнопки, в зависимости от интерфейса устройства, или реально существующей (т.е. физическая кнопка на экране или другой части устройства 102 связана с системным блоком электронного устройства 102). Кадр 108, отображаемый на экране дисплея 104 электронного устройства 102, может быть получен при помощи видоискателя камеры, который передает отображение документа на экран дисплея 104. Кадр 108 представляет собой сигнал, фиксируемый оптической системой (АЦП, фотоматрицей) и выводимый на экран 104 устройства 102. Некоторые электронные устройства позволяют отображать кадр в реальном времени без совершения съемки документа. Кадр 108 на экране устройства 102 обладает одним из описанных выше дефектов, а именно текст в кадре смазан. Это усложняет дальнейшую его обработку или делает ее практически невозможной. Например, результат бинаризации данного фрагмента текста, предствленного на Фиг. 1А, показан на Фиг. 1Б.
[0029] Обнаружения искажений границ объектов является достаточно универсальным средством, и может быть применен не только для систем распознавания, но и в любых других прикладных задач обработки изображений/кадров, например в системах сканирования, видео и фотокамерах, системах контроля качества печати, зрения робота и др.
[0030] Характеристики алгоритмов обнаружения смаза и расфокусировки могут включать в себя:
- Достоверность обнаруженной области с дефектом;
- Эффективность или высокая производительность;
- Устойчивость к высоким шумам, которые особенно свойственны изображениям/кадрам, полученным при помощи камеры, встроенной в мобильные устройства;
- Устойчивость к неравномерности освещения, к слишком низкому или слишком высокому уровню освещения; и
- Устойчивость к гистограммным преобразованиям (например, эквализации).
[0031] Приведенные выше характеристики могут значительно осложнить задачу обнаружение области смаза в каждом конкретном случае. Одним из способов упрощения задачи является сужение класса обрабатываемых изображений до тех, которые включают в себя определенные типы объектов. Например, изображения, которые включают в себя изображения клеток или бактерий, текстурированных объектов, текст, изображения штрих-кодов или свет и тень и т.д. Если ожидаемый тип объекта на изображении известен заранее, можно определить признаки, характерные не только для самих объектов, но и для их смаза на этих объектах. Однако даже при сужении класса изображений задача обнаружения смаза может оставаться достаточно сложной из-за требований к производительности и устойчивости к шуму.
[0032] Один или более следующих признаков может быть использован для определения наличия смаза или расфокусировки в кадре:
- Признаки в частотной области;
- Особенности в гистограмме градиента;
- Отсутствие насыщенных цветов;
- Особенности в распределении границ по направлениям; и
- Локальная корреляция (размытие границ, параллельных движению).
На основе анализа этих параметров и их сочетаний можно определять тип и области искажений на изображениях.
[0033] Возможность обнаруживать границы на изображениях с искажениями зависит от степени этих искажений, относительного размера и контраста информационных элементов в этом изображении. Так, маленькие или слабоконтрастные буквы практически нечитаемые при слабом размытии, хотя большие или сильноконтрастные буквы остаются хорошо читаемыми при той же (или даже большей) степени размытости. Как описано более подробно ниже, относительный размер и контрастность информационных элементов могут приниматься во внимание при определении дефектов и областей этих дефектов.
[0034] Дополнительно к обнаружению дефектов или искажения на изображении, полезным может оказаться обнаружение степени данных искажений. Кроме того, определение типа искажения, например, смаза, расфокусировки или блика, также может оказаться полезным. Тип искажения в одной или нескольких областях можно определить путем экстраполяции информации из соседних областей.
[0035] В одном из вариантов реализации, съемка изображения камерой, встроенной в электронное устройство, выполняется при нажатии кнопки для запуска и выполнения съемки изображения. Однако можно не просто сфотографировать изображение по нажатию на кнопку, а проанализировать его, чтобы определить, не превышает ли количество искажений некий заранее заданный порог. Кнопка пуска нажата, анализ кадра может быть начат.Примером кнопки, по нажатию на которую может быть инициирован анализ кадра, может быть кнопка 106, проиллюстрированная на Фиг. 1А.
[0036] Видоискатели электронных устройств могут обеспечивать передачу данных изображения на экран устройства в реальном времени. Анализ кадра на наличие в нем дефектов может быть выполнен для каждого кадра или для подмножества кадров, полученных через видоискатель. К примеру, анализу может быть подвергнут каждый десятый кадр, отображаемый в видоискателе. Допустимы и другие показатели частоты, например, один из 2, 4, 6, 100 или 200 кадров. Каждый кадр или каждый выбранный кадр может быть проанализирован для выявления одной или нескольких видов дефектов: смаза, расфокусировки, бликов или шума. Выбор и анализ кадра может выполняться без прерывания отображения данных изображения в видоискателе.
[0037] Обнаружение смаза и расфокусировки
[0038] Согласно различным вариантам реализации изобретения, для обнаружения размытия (смаза) и расфокусировки может быть использован фильтр Лапласа. Выводы о наличии смаза или расфокусировки в кадре могут быть сделаны на основе анализа вторых производных яркости кадра в окрестности их точек пересечения нуля. Если область содержит объекты с контрастными границами, то точки пересечения нуля детектируются легко. В противном случае отсутствие контрастных границ говорит о высоком уровне шума или сильной степени размытости.
[0039] В одном из вариантов реализации, для обнаружения границ объекта используются методы второго порядка. К таким методам относятся LoG (Laplacian of Gaussian) и DoG (Difference of Gaussian) фильтры.
[0040] Применение фильтра может быть эффективно вычислено за линейное время на основе количества пикселей на изображении. В случае использования лапласиана аппроксимация второй производной по заданному направлению функции яркости представляет собой срез на изображении лапласиана, проходящий через пиксель вдоль этого направления. Это приближение в окрестности анализируемой точки далее называется «профилем точки».
[0041] При выборе параметров для DoG или LoG фильтрации можно учитывать особенности класса изображений и особенности устройства камеры, чтобы при известных параметрах шума и характеристиках объектов на изображении наилучшим образом обнаружить наличие искажений.
1
2
[0042] В фильтре LoG сначала используется сглаживание Гаусса, затем применяется фильтр Лапласа. Фильтр DoG представляет собой разность двух сглаженных по методу Гаусса изображений, полученных путем свертки исходного изображения с помощью функции Гаусса, имеющей различные степени сглаживания (стандартное отклонение). Для настройки фильтров, используются параметры σ и σ (стандартное отклонение) при сглаживании методом Гаусса:
[0043] Далее может производиться проверка фильтра нулевого контура («zero checking»), т.е. когда результирующее значение переходит из отрицательного значения в положительное, или наоборот. Результатом применения вышеописанных фильтров является изображение с границами объектов на исходном изображении.
[0044] В процессе обнаружения смаза или расфокусировки можно анализировать не все изображение целиком, а только границы объектов. Наличие объектов с хорошо выделяемыми границами характерно для достаточно обширных классов изображений. Такие дефекты, как смаз и расфокусировка, обычно приводят к уменьшению четкости границ.
[0045] Для многих кадров характерно наличие перепада яркости на границах объектов. В случае неискаженных изображений такие перепады обычно представляют собой скачкообразные изменения яркости на границах объектов. Срез идеального изображения документа близок к «ступеньке». Сделав срез через все изображение, можно получить функцию, близкую к кусочно-постоянной или ступенчатой функции. Однако, из-за несовершенства регистрирующей системы, последствий дискретизации и других процессов, ступенчатая функция размывается и накладывается шум. Тем не менее, на изображениях с незначительными искажениями границы текста представляют собой хорошо детектируемые (различимые) скачкообразные изменения яркости.
[0046] После прохождения света через оптическую систему и регистрации изображения на фотодетекторе могут произойти различные искажения исходного изображения, такие как неравномерное освещение, смаз, расфокусировка и шумы. Если изображение обрабатывается и сжимается, то могут быть внесены дополнительные искажения (например, при использовании JPEG, или другого алгоритма сжатия с потерями, который становятся причиной JPEG артефактов). Всем перечисленным искажениям подвергаются и границы объектов. Таким образом, для реальных границ объектов в кадре, перепады яркости представляют собой постепенное зашумленное изменение значения яркости. Тем самым, анализируя профиль яркости на границах, можно сделать вывод о типе и степени искажений.
[0047] Ссылаясь на Фиг. 2 предположения о наличии смаза или расфокусировки в исходном изображении (201) формулируются на основе анализа вторых производных яркости изображения (шаг 202). Для этого сначала находятся границы объектов (шаг 203), затем для точек границ строятся профили второй производной вдоль направления градиента (шаг 204) и собирается статистика о параметрах этих профилей вдоль различных направлений (шаг 205). Анализируя статистику (шаг 206), можно установить наличие и тип искажения 207 (например, смаз или расфокусировка), степень искажения, направление смаза, и т.д. Кроме того, степень искажения изображения также можно частично определить на основании статистических данных (208).
[0048] На шаге 202, чтобы получить производные второго порядка для исходного изображения (201)кадра, могут быть использован любой лапласиан фильтр, или фильтр, представляющий собой некоторую аппроксимацию лапласиана. Для уменьшения влияния шумов кадр предварительно может быть сглажен, для чего может использоваться сглаживание Гаусса или любой другой существующий метод сглаживания, например медианный фильтр, адаптивный медианный фильтр, и т.д.. Также могут быть использованы преобразования, объединяющие в себе оба вида фильтрации, например, такие как LoG (Laplacian of Gaussian) фильтрация, представляющая собой фильтрацию с помощью Гауссиана, или DoG фильтрация (Difference of Gaussian). [0049] Сглаженное изображение, к которому был применен фильтр Лапласиана, либо любую его аппроксимацию будем называть изображением Лапласа. Примером изображения Лапласа является фрагмент, проиллюстрированный на Фиг. 4А. Вид фильтра (сглаживание и аппроксимация) и параметры фильтрации (например, стандартное отклонение сглаживания по Гауссу) могут быть подобраны таким образом, чтобы учесть особенности класса изображений или особенности оптической системы фото-устройства.
[0050] На шаге 203 к полученному изображению Лапласа применяется фильтр нулевого контура. Как показано на Фиг. 4Б. Результатом такой фильтрации является изображение с выделенными границами толщиной в один пиксель. При этом возможно появление ложных границ, возникновение которых обычно связано с зашумленностью исходного изображения. Чтобы сократить число ложных границ, для фильтра нулевого контура задается некое пороговое значение. Порог устанавливает минимальную величину перепада яркости между соседними или близкими пикселями на изображении Лапласа, при которой точка пересечения нулевого уровня считается границей. Порог может быть вычислен на основе параметров примененного сглаживания и зашумленности исходного изображения, например на основе значения дисперсии шума. Таким образом, пороговое значение можно подобрать. В некоторых случаях информация о шуме может быть известна заранее, например некоторые фотокамеры могут предоставлять оценку шума исходя из настроек фотосъемки.
[0051] На шаге 204, для каждой точки границ анализируемого кадра (как показано на Фиг. 4Б) рассчитывается направление градиента в соответствующих им точках на изображении Лапласа (проиллюстрированного на Фиг. 4А) и строится профиль второй производной вдоль направления градиента.
[0052] Далее для полученных профилей вторых производных рассчитываются локальные экстремумы (например, точки 502 и 503 на Фиг. 5А), собирается информация об абсолютных значениях экстремумов и их расстояниях до соответствующей точки пересечения нулевого уровня («смещение экстремума»). Например, Фиг. 5А иллюстрирует абсолютное значение 504 экстремума 502 и соответствующее ему смещение 505 от точки пересечения нулевого контура 501. Могут быть дополнительно посчитаны другие параметры профиля. На шаге 205 на Фиг. 2, вышеуказанная информация собирается независимо для максимальных и минимальных значений экстремумов, и отдельно для различных направлений градиента.
[0053] В одной из реализаций, для упрощения сбора статистики (например, на шаге 205 на Фиг. 2) и последующего анализа результатов (на шаге 206 на Фиг. 2), перед построением профиля направление градиента можно квантовать, например, на угол в 45 градусов (Фиг. 5Б). Таким образом, статистика собирается отдельно для каждого из восьми выделенных направлений.
[0054] Дополнительно, для каждого экстремума можно также рассчитывать степень его надежности, чтобы исключить ошибочно определенные экстремумы из подсчета статистики. Можно считать, что локальный экстремум является ненадежным, если нельзя достоверно установить его положение. Например, такая ситуация возможна, когда экстремум сильно растянут или в его окрестности находятся два или более локальных всплеска. Большая доля ненадежных экстремумов может служить признаком сильных искажений в кадре. Например, на Фиг. 5А, экстремум 503 может считаться ненадежным.
[0055] Все изображение может быть разбито на неперекрывающиеся области любой формы. Сбор статистики происходит в пределах каждой области. Разбиение на области применяется, чтобы учесть возможные различия в направлении смаза в разных областях кадра. Например, направление смаза может различаться из-за дрожания камеры в момент съемки, или при фотографировании близких объектов. В фокусе могут оказаться не все объекты, и часть кадра может быть расфокусирована. Также в качестве областей могут быть выбраны связные компоненты границ (каждая связная компонента представляет собой отдельный объект или его часть). Таким образом, наличие смаза и расфокусировки может быть проверено отдельно для каждого объекта в кадре, что позволяет использовать детектор, например, для обнаружения движущихся объектов на статичном фоне.
[0056] Разбиение кадра на непересекающиеся области также может служить одним из инструментов, предназначенных для передачи визуального сигнала пользователю о наличие дефекта на кадре, по крайней мере, в одной из областей на экране видоискателя. Например, области кадра на экране видоискателя, содержащие один из видов дефекта, могут быть закрашены определенным цветом. Интенсивность окраски области может соответствовать степени искажения на кадре.
[0057] Сетка непересекающихся областей может быть представлена в различных видах и формах. Например, сетка неперекрывающихся областей может быть представлена в виде квадратных областей (Фиг. 9А) или прямоугольных областей (Фиг. 9Б, 9В). Можно использовать тип сетки и с иной формой ячеек, например, в виде ромбов, параллелограммов и т.д. Форма области не ограничен четырехугольником. Область может быть представлена в виде любой возможной плоской геометрической фигуры. В одном из вариантов реализации области могу быть представлены в виде шестиугольников, и сетка имеет форму ячеек сот. Пример сетки в форме пчелиных сот показан на Фиг. 10. Кроме того, геометрические формы могут быть повернуты на некоторый угол, например на 30, 45, 60 или 90 градусов (Фиг. 9Б). Сетка может включать фигуры различной формы; например, она может состоять из квадратов и прямоугольников, и т.п. Основным назначением областей является разделение кадра на несколько частей способом, подходящим для применения в определенном электронном устройстве, для выявления определенных дефектов или для определенного пользователя. Кроме того, тип сетки может быть выбран пользователем при настройке или быть заданным по умолчанию. Сетка может быть частично прозрачной. Значение прозрачности может быть выбрано в настройках. Оно может изменяться от показателя абсолютной прозрачности до абсолютной непрозрачности.
[0058] Как уже упоминалось выше, сетка очень удобна для демонстрации или визуального представления обнаруженных дефектов пользователю. Например, сетка может быть использована для обозначения той части экрана, которая содержит один или несколько типов дефектов. Также сетка позволяет показать и тип обнаруженного дефекта (смаз, расфокусировка, шум и пр.). Чтобы различать тип обнаруженного дефекта, каждому дефекту для наглядности может быть назначен в соответствие один или несколько типов сигнала. Один из возможных сигналов - использование различных цветов для обозначения различных дефектов. В этом примере тип дефекта в конкретной области определяет цвет, используемый для окрашивания этой области. Например, если кадр содержит дефекты лишь одного типа, области могут быть закрашены одним цветом (например, черным, как показано на Фиг. 11А). На Фиг. 11А области с дефектами 1101 закрашены черным цветом. Кроме того, интенсивность окраски области может зависеть от степени искажения (Фиг. 11Б). Например, яркий цвет 1102 используется для явно выраженных дефектов, например, нечитаемого текста, который в дальнейшем будет невозможно распознать. Частично прозрачный цвет 1103 можно применять для отметки слабо выраженных дефектов (искажений).
[0059] В других вариантах реализации, области могут быть закрашены с применением различных цветов для визуализации типа дефекта, как показано на Фиг. 11В. В одном варианте реализации закрашивание области черным цветом 1104 показывает, что область содержит некий конкретный тип дефекта, например, смаз. Для идентификации других типов дефектов могут быть использованы другие цвета. К примеру, закрашенная белым цветом область 1105 содержит дефект другого типа, например, расфокусированный текст. Части кадра, содержащие изображение высокого качества, также могут быть выделены цветом. Например, зеленым цветом может быть выделена область, в котором никаких дефектов не обнаружено. При использовании различных цветов для маркировки различных типов дефектов можно варьировать цвета по интенсивности, так чтобы интенсивность отражала степень искажения.
[0060] Статистика о параметрах профилей второй производной собирается отдельно для каждой области (шаг 205) и затем анализируется (шаг 206). Могут быть использованы следующие признаки: среднее значение, дисперсия, коэффициент асимметрии, и другие параметры, посчитанные для каждого из параметров профиля второй производной (например, абсолютные величины локальных максимумов, минимумов, смещений максимумов и минимумов, и т.д.). Также признаками могут служить количество выявленных пиков, процентное соотношение «ненадежных» пиков (для которых не удалось достоверно определить положение максимума или минимума), корреляции между «длиной» и высотой пиков.
[0061] Так как информация для статистики может быть собрана отдельно для каждого выделенного направления градиента, то и признаки (среднее значение, дисперсия и т.д.) могут быть вычислены для каждого направления отдельно. Таким образом, в случае восьми выделенных направлений (углы кратные 45 градусам), каждый признак можно представить в виде восьми векторов (например, как проиллюстрировано на Фиг. 5Б), в которых длина вектора соответствует величине признака вдоль этого направления.
[0062] В одном из вариантов реализации в рамках шага 206, полученные признаки могут быть переданы любому обученному классификатору, который на основе этих признаков сможет определить тип искажения и его параметры (207). Например, среднее расстояние от точки пересечения нулевого уровня до пиков (среднее значение смещения экстремума от точки пересечения нулевого контура) на второй производной дают оценку степени смаза границ. Чем больше расстояние, тем больше смаз. Кроме того, классификатор может быть обучен на основе результатов последующего распознавания (OCR (оптического распознавания символов)/IСR (интеллектуального распознавания символов)) анализируемого кадра. Например, классификатор может изменить полученные параметры для обнаружения смаза или расфокусировки на основе количества неверно распознанных символов.
[0063] В другом способе реализации, в рамках шага 206, набор векторов можно описать набором характеристик инвариантных к сдвигу и поворотам, например средней длиной вектора, вытянутостью векторов в каком-либо направлении, и т.д.. В качестве таких характеристик можно использовать различные моменты (например, центральные моменты, множество инвариантных моментов Ху, их комбинации, и т.д.). Посчитанные признаки впоследствии передаются любому предварительно обученному классификатору для дальнейшего анализа. Такая реализация позволяет существенно уменьшить размерность пространства признаков для классификатора и сделать признаки более устойчивыми к недостатку статистических данных в одном или более выделенных направлений, например, в случае, когда по какому-то направлению градиента отсутствует достаточное количество границ.
[0064] Например, набор векторов для каждого признака можно рассматривать как конструкцию из материальных точек с некоторыми весами на концах векторов. Для такой конструкции может быть вычислен тензор инерции (например, 510), который представляет собой комбинацию центральных моментов второго порядка. Веса могут быть выбраны, например, на основе пропорциональности количеству надежных пиков в направлении вектора, или исходя из любых других соображений. Далее рассчитываются характеристики тензора инерции (такие как эксцентриситет и след матрицы тензора), которые впоследствии анализируются классификатором.
[0065] По признакам тензора инерции можно определить признаки искажений. Так на основе эксцентриситета можно понять, какой дефект присутствует в кадре - смаз или расфокусировка. Для расфокусировки характерны значения эксцентриситета близкие к нулю. След тензора инерции дает представление о степени смаза или расфокусировки. Направление смаза совпадает с собственным вектором тензора инерции с наибольшим собственным значением.
[0066] Иногда характеристики изображения могут быть выявлены на осноке использования дополнительных данных, кроме собственных значений тензора инерции. Например, множество инвариантных моментов Ху можно использовать в дополнение к множеству собственных значений тензора инерции. Как один из примеров, инварианты множества Ху могут быть рассчитаны по следующим формулам:
ij
где μ - это центральные моменты. Опционально в вышеописанных формулах вместо центральных моментов могут быть включены соответствующие их нормированные величины. Нормировка может быть вычислена по следующей формуле:
[0067] Отдельную задачу представляет собой обнаружение объектов с малой шириной, например, тонких линий, особенно в случаях малой площади этих объектов и при наличии шума. Описываемый детектор позволяет настраивать (менять) параметры фильтра для получения изображение Лапласа. Поэтому параметры фильтра возможно подобрать таким образом, чтобы границы объектов с малой шириной были более устойчивы к шуму и их было легче обнаружить.
[0068] На шаге 208 происходит установление степени искажений в кадре. Одним из результатов работы детекторов, может быть, например, вывод на экран визуального представления (визуализации) дефектных областей в кадре. На Фиг. 11А-11В показаны примеры возможных визуальных представлений (визуализаций). Также результатом работы детекторов может быть вывод на экран сообщений о степени искажения или непригодности кадра для дальнейшей его обработки. Если на изображении обнаружены сильные дефекты, сообщение может содержать для пользователя совет изменить условия съемки. Например, если обнаружен тот или иной дефект в кадре, в видоискателе выделяется цветом именно та область (текст), в которой этот дефект присутствует. Определенный цвет области может указывать пользователю о типе обнаруженного в данной области дефекта. Так, например желтый цвет может быть условным сигналом того, что в данной области обнаружен смаз; в то время как красный цвет может сигнализировать о расфокусировке, и т.д. Интенсивность закрашивания области может свидетельствовать о степени искажения.
[0069] 0069 Помимо этого в зависимости от типа дефекта система может выдавать пользователю рекомендации по улучшению условий съемки. Например, если на кадре обнаружен блик, то пользователю может быть выдано сообщение с советом изменить условия освещения таким образом, чтобы избежать блика. Если текст размыт -пользователь может получить совет стабилизировать устройство перед моментом съемки. Если дефектов в кадре не обраружено, или дефекты оказались незначительными (например, ниже заранее заданного порогового значения), то электронное устройство может сделать снимок автоматически. Также пользователь может осуществить съемку вручную.
[0070] Предложенный способ является хорошо устойчивым к шуму, что обеспечивает высокую надежность детектора. В случае высокой зашумленности кадра или при анализе кадров с малоконтрастными границами может быть выполнен дополнительный анализ посчитанных статистик для области. Также, дополнительный анализ может выявить сложный дефект, например, вызванный сложным движением камеры.
[0071] Данный анализ может быть проведен как на исходном кадре, так и на его уменьшенных копиях. В таком случае, при уменьшении может быть использовано сглаживание. Сглаживание можно делать как на предварительном этапе, так и совместно с уменьшением. Сглаживание может уменьшить уровень шума, а уменьшение позволяет улучшить работу алгоритма.
[0072] Обнаружение шума
[0073] Различные способы реализации могут обнаружить шум в кадре. Обнаружение шума может происходить как на всем кадре в целом, так и в одной или нескольких его областях. В качестве измерителя шума в областях кадра могут служить различные статистические показатели, например, среднее значение и дисперсия яркости в конкретной области. Чем больше область анализируется, тем более точен и надежен найденный показатель. На основе результатов измерения шума внутри каждой из областей кадра, можно сделать заключение, какая именно область содержит большее количество шума. Характеристики шума могут зависеть от показателей оптической системы конкретного электронного устройства, поэтому показатель шума может быть либо отрегулирован, либо указан в настройках устройства.
[0074] Определение шума в кадре связано с показателем полезного сигнала в кадре. Так, например, большие буквы с большим содержанием шума могут быть читабельными и распознаваемыми, в то время как маленькие буквы при том же содержании шума могут быть нераспознаваемы. В результате обнаружения шума в кадре в целях его дальнейшего распознавания (OCR - оптического распознавания символов) может быть основано на расчете соотношения «сигнал/шум». Данный показатель демонстрирует, каково отношение полезного сигнала в кадре (или области кадра) к уровню шума. Чем выше это соотношение, тем меньше шума в кадре. Результатом работы данного детектора может быть вывод сообщения для пользователя с информацией о количестве шума в анализируемом кадре, если соотношеие сигнал/шум ниже установленного уровня. Также возможен вывод сообщения с советом изменить условия съемки, чтобы уменьшить содержание шума, мешающего дальнейшей обработке кадра.
[0075] Обнаружение бликов
[0076] Примером кадра на экране видоискателя с наличием блика (601) является иллюстрация на Фиг. 6А. Фиг. 6Б иллюстрирует пример кадра, проиллюстрированного на Фиг. 1А, после бинаризации. Фиг. 6Б содержит область 602 с бликом 601, непригодную для дальнейшей обработки.
[0077] На. Фиг. 3 проиллюстрированы шаги для обнаружения блика на изображении в соответствии с одной из реализаций настоящего описания. На шаге 3006 анализируемый кадр может быть уменьшен в размере (сжат). Уменьшение кадра в размере может существенно снизить время, необходимое для выполнения вычислительных операций, что может быть важно при выполнении анализа кадра в режиме реального времени. Сжатие кадра может быть выполнено, например, с помощью последовательного применения маски вида  вдоль вертикали и вдоль горизонтали, или же посредством сглаживания и последующей интерполяции на меньшую сетку. Примерами маски могут служить  или . Сглаживание кадра может снизить количество шума в кадре.
[0078] Далее на шаге 301 кадр может быть бинаризован при некотором подобранном субоптимальном пороговом значении. Для конвертации анализируемого кадра в бинаризованный кадр может быть применена инвертированная пороговая бинаризация. Для этого может быть установлено некое субоптимальное пороговое значение бинаризации th. Например, значения пикселей, которые больше или равны th принимают значение 1, а пиксели, значения которых меньше чем th, принимают значение 0. Полученное таким образом изображение является бинаризованным, т.е. каждый пиксель в кадре принимает одно из двух значений (0 или 1). Другие техники бинаризации могут быть также применены. Примеры кадров после применения инвертированной пороговой бинаризации проиллюстрированы на Фиг. 7А и Фиг. 7Б.
[0079] Предполагается, что сцена в видоискателе и условия съемки от кадра к кадру меняются незначительно. Соответственно, в некоторых способах реализации выбор субоптимального порогового значения бинаризации для текущей серии кадров может быть основан на предварительно проанализированных кадрах.
[0080] При недостаточном сглаживании искомая односвязная область, которая может быть или «засветом» (другими словами «светлым пятном над текстом») или бликом. Термин «засвет», или другими словами засвеченная область, обозначает область, в которой присутствует лишь граница перепада освещения, в то время как текст в этой области является читабельным и распознаваемым. Если же область содержит искаженный сигнал, который не подлежит дальнейшей обработке, то такая область в контексте описания представленного изобретения будет называться бликом. Пример блика показан на Фиг. 6А и Фиг. 6Б.
[0081] Неоднородность может проявляться в появлении небольших бликов на бумаге ввиду ее неровности. Чтобы избежать проявления неоднородности, можно увеличить степень сглаживания. Альтернативным способом борьбы с этим эффектом может служить применение к бинаризованному изображению операции дилатации, или другого морфологического фильтра. Морфологический фильтр «дилатация» расширяет область кадра путем расширения пикселей в кадре. В результате чего происходит объединение областей в кадре, которые могли быть разделены некими помехами, шумами, оставшимися после сглаживания. Параметры дилатации (размер и форма) могут зависеть от предыдущих шагов описываемого способа обнаружения блика в кадре. Дилатация может быть выполнена, например, по квадрату 3×3.
[0082] На шаге 302 происходит поиск односвязных областей (компонент) на бинаризованном изображении, полученном на шаге 301. Найденные связные компоненты могут быть отсортированы по их площади. Сортировка найденных связных областей может увеличить шанс обнаружения «засвета» без перебора всех найденных связанных компонент. Кроме того небольшие по площади связные компоненты могут быть исключены ради ускорения процедуры обнаружения бликов.
[0083] Нна шаге 303 каждая связная компонента исследуется на предмет того, является ли покрываемая ей область «засветом» или нет. На данном этапе может быть применено каскадное отсечение связных компонент, заведомо не являющихся бликом. Этот шаг полезен для избежания ресурсозатратного этапа анализа данных областей. Так, например, можно не подвергать анализу те связные компоненты, которые не являются «достаточно плотными», то есть те компоненты, которые занимают малую часть площади в описываемой области. Таким образом, могут быть заранее исключены из последующего анализа межстрочные и межстолбцовые белые интервалы.
[0084] В одном из вариантов реализации описываемого изобретения, полученные статистика может быть передана любому обученному классификатору, который на основе этих признаков может принять решение является ли связанная область засветом, ил нет. Например, могут быть использованы каскадные классификаторы. В качестве примера несколько классификаторов могут быть соединены в виде каскада, например, в виде дерева решений. На каждом этапе каскада может быть принято решение о том, содержит ли изображение этот объект. На первом уровне каскадный классификатор может использовать простейшие признаки. Вычисление данных признаков не требует больших ресурсов электронного устройства. Примеры возможных характеристик (статистик) включают в себя долю черных пикселей к периметру связной компоненты, среднюю яркость и т.д. На следующем этапе (при подозрении о том, что анализируемая область является бликом) могут быть вычислены дополнительные признаки (собрана дополнительная статистика). Например, дополнительная статистика может включать градиент яркости по периметру, который также может быть вычислен. Такая дополнительная статистика может использоваться на одном или нескольких уровнях каскадных классификаторов. Помимо этого классификатор может быть обучен на основе результатов распознавания изображения (кадра). Например, классификатор может изменить полученные параметры для обнаружения блика на основе количества неверно распознанных символов. На основе результатов распознавания один или более классификаторов могут быть обучены.
[0085] Кроме того, могут выполняться ресурсоемкие операции и могут вычисляться более сложные статистики. Например, способ проверки оставшихся односвязных областей на предмет того, являются ли они «засветами», производится следующим образом. Обнаруженная связная область аппроксимируется эллипсоидом инерции. Для этого может быть применена формула нахождения квадратичной формы эллипса.
[0086] По границе бинаризованной связной области (или некой фигуры, аппроксимирующей область) собирается статистика направления и значения градиента яркости на основе исходного кадра. Если направление градиента яркости в односвязной области почти всюду такое, что градиент яркости направлен в сторону центра пятна (как показано на Фиг. 8), и его значение в среднем больше определенного порога, то область может быть признана «засветом». Также для проверки обнаруженной области собирается и анализируется статистика для некоторых свойств эллипса и его уменьшенного представления. Например, рассчитывается количество подтверждающих и отвергающих перепадов яркости на контуре вокруг пятна; собирается статистика для выборки на контуре эллипса скалярных произведений градиента яркости и единичного вектора от точки к центру; собирается статистика яркостей пикселей вдоль границы эллипсов. Анализ других дополнительных данных и сбор дополнительной статистики, собранной по эллипсу меньшего радиуса, помогает лучше классифицировать отсутствие или наличие «засвета».
[0087] Если на шаге 303 область не признается засветом, подбирается следующее субоптимальное пороговое значение бинаризации. Снова бинаризованное изображение анализируется на предмет нахождения в нем «засвета». Процесс подбора оптимального порога бинаризации и обнаружения «засветов» при данном значении бинаризации является итерационным и повторяется до тех пор, пока не будут найдены «засветы» внутри кадра или же не будет принято решение, что «засветы» отсутствуют. Для расчета пороговых значений может быть использована следующая формула:
i
i-1
i
где th пороговое значение бинаризации на шаге i, th пороговое значение бинаризации на шаге (i-1), k, - некий коэффициент.
[0088] Предполагается, что сцена в видоискателе и условия съемки от кадра к кадру меняются незначительно, что позволяется подбирать оптимальный параметр бинаризации для текущей серии кадров на основе ранее проанализированных кадров. Таким образом, оптимальное значение порога бинаризации на некотором шаге i, при котором были обнаружены «засветы» на изображении, может быть запомнено и применено к следующему кадру в серии. Эта процедура помогает заметно сократить время анализа кадров в видеопоследовательности. Результаты применения различных пороговых значений бинаризации для обнаружения блика на исходном кадре проиллюстрированы на Фиг. 7А, 7Б. Причем Фиг. 7А иллюстрирует результат бинаризации изображения при меньшем субоптимальном пороговом значении, в результате чего односвязная область 701 имеет большую площадь по сравнению с областью 702, изображенной на Фиг. 7Б, где применялось более высокое субоптимальное пороговое значение бинаризации.
[0089] Статистика о сигнале в засвеченной области может быть собрана отдельно на шаге 304. Для этого в блоках, содержащих засвеченную область, рассчитывается соотношение «сигнал/шум». Соотношение «сигнал/шум» также может быть вычислено для смежных областей, например, областей прилегающих к засвеченным областям. Далее полученные значения соотношения «сигнал/шум» в засвеченных областях и в прилегающих областях могут сравниваться на шаге 305. Если показатель «сигнал/шум» существенно ниже в блоках, которые попадают в подозреваемую на «засвет» область, то эта область признается дефектной, т.е. бликом. Это говорит о том, что информация в данной области содержит испорченный сигнал, который непригоден для дальнейшего распознавания. Показатель «сигнал/шум» также может применяться для обнаружения смаза и расфокусировки.
[0090] Дополнительно, на этом шаге полученные признаки могут быть переданы любому обученному классификатору, который на основе этих признаков сможет определить в кадре наличие блика и его параметры. Классификатор может быть обучаем на основе действий пользователя, взаимодействующего с электронным устройством. К примеру, функции интерфейса, относящиеся к обучению, могут быть активизированы, и пользователю будет предоставлена возможность обучать классификатор, например, отметить вручную, исправить или изменить типы или области дефектов в кадре.
[0091] На Фиг. 12 показан пример кадра с бликом, область блика ограничена линией 1201. Линия, описывающая обнаруженный блик, может быть отображена на экране электронного устройства. Данная линия представляет собой визуальный сигнал для пользователя, обозначающий границу дефекта в кадре. Если, по мнению пользователя, границы блика иные, например они должны охватывать большую (или наоборот меньшую) площадь, система предоставляет пользователю возможность изменить границу дефекта вручную. (Фиг. 12). Также пользователь может стереть линию или отметить область как содержащую дефект, если автоматическое обнаружение дефектов оказалось некорректным. Внесение корректировок подобного типа позволяет обучать классификатор, тем самым существенно улучшать качество обнаружения дефектов (таких как обнаружение блика) в последующих кадрах. Для названных выше целей можно использовать один из известных алгоритмов обучения классификатора.
[0092] Кроме того, в обучении классификатора можно использовать результаты последующего распознавания (OCR/ICR) анализируемого кадра. Например, в случае большого числа некорректно распознанных в ходе оптического распознавания (OCR) символов классификатор может изменить полученные параметры обнаружения бликов.
Н0
[0093] В частности, для каждой из областей кадра может быть собрана статистика по количеству неправильно или неуверенно распознанных символов. Например, данные изображения могут быть переданы на удаленное электронное устройство, выполняющее оптическое распознавание символов на данных изображения. В альтернативной реализации процедура оптического распознавания символов (OCR) может быть выполнена локально на данном электронном устройстве. С помощью процесса OCR можно получить данные, содержащие распознанные символы, и количество неправильно распознанных или нераспознанных символов. Если уровень неправильно распознанных или неуверенно распознанных символов превышает некоторое предварительно заданное пороговое значение для области кадра, то может быть установлено, что данная область кадра имеет дефект. Кроме того, эта информация может применяться для обучения классификатора, используемого для обнаружения дефектов. Например, гипотеза Но о наличии дефекта может быть сформулирована на основании того, что количество неуверенно распознанных символов, превышает некоторое заранее определенное пороговое значение. Пороговое значение h может быть определено пользователем или являться значением, по умолчанию заданным для конкретного электронного устройства. Если выдвинутая гипотеза  подтверждается статистическими данными области, классификатор может быть обучен. Так, например, если детектор не обнаружил дефекта в области, результаты распознавания для которой содержат большое число неуверенно распознанных символов, это указывает на то, что классификатор нуждается в дополнительном обучении. Для названных выше целей можно использовать какой-либо из известных алгоритмов обучения.
[0094] Если степень искажения (306) кадра не превышает некий заранее заданный пользователем (или указанный по умолчанию в устройстве) порог, то может быть совершена съемка. В одном из способов реализации съемка может быть совершена электронным устройством автоматически. В альтернативном способе реализации съемка может быть совершена пользователем вручную.
[0095] Если одна из областей содержит дефект, пользователю могут быть предложены варианты допустимых действий. Эти варианты могут быть представлены в виде рекомендаций, отображаемых через графический пользовательский интерфейс (GUI) электронного устройства в виде текстовых или звуковых сообщений. Эти сообщения могут включать в себя инструкции по изменению одного или нескольких условий съемки или параметров настройки, которые позволят получить изображение более высокого качества.
[0096] К числу возможных вариантов действий для устранения обнаруженного шума относятся:
- применение алгоритма подавления шума; либо
- изменение условий освещения.
К числу возможных вариантов действий для устранения обнаруженного смаза или расфокусировки относятся:
- применение определенного алгоритма для восстановления размытого или расфокусированного изображения. Один из таких способов описан в патентной заявке США под номером 13/305,768 от 29 ноября 2011 г., в оригинале озаглавленной "Detecting and Correcting Blur and Defocusing" («Обнаружение и устранение размытия и расфокусировки»), которая включена в данное описание посредством ссылки;
- изменение условий освещения; либо
- применение одного из алгоритмов стабилизации устройства или алгоритма, позволяющего выполнить съемку в момент стабилизации устройства. Один из таких способов описан в патентной заявке США под номером 13/658,967 от 24 октября 2012 г., в оригинале озаглавленной "Capturing Images after Sufficient Stabilization of a Device" («Съемка изображений при стабилизации устройства»), которая включена в данное описание посредством ссылки;
[0097] К числу возможных вариантов действий для устранения обнаруженного блика относятся:
- изменение угла положения объекта по отношению к камере и (или) источникам света; либо
- изменение условий освещения чтобы избежать приглушенного света.
[0098] Возможные варианты действий не ограничиваются приведенными выше рекомендациями. Пользователю могут быть предложены и другие сообщения или действия. Инструкции в отношении предлагаемого действия или рекомендации могут быть представлены в виде сообщений на экране электронного устройства. В тех случаях, когда в анализируемом кадре обнаружено несколько дефектов, система может объединить несколько инструкций или рекомендаций в отношении обнаруженных в кадре дефектов. Кроме того, для модификации данных изображения, содержащих дефект, могут быть использованы различные алгоритмы. Модифицированное таким образом изображение может быть отображено пользователю. Например, пользователю может быть предложено принять изменения, внесенные выбранным алгоритмом.
[0099] В некоторых вариантах реализации предполагается обнаружение затемненных областей изображения. В некоторых вариантах реализации обнаружение затемненных областей может быть объединено с обнаружением засвеченных областей. Действия в случае обнаружения затемненной области аналогичны действиям в случае обнаружения засвеченной области. Основное различие состоит в применении алгоритма к инвертированному кадру. Это действие выполняется на этапе бинаризации. В частности, параметры бинаризации должны быть выбраны соответствующим образом.
[00100] Обнаружение возможных дефектов в кадре (текущий вид) можно выполнять, применяя все описанные выше детекторы одновременно или последовательно. Это позволяет обнаруживать в кадре различные дефекты. Поскольку кадр может содержать несколько типов дефектов (например, одновременно быть размытым, содержать высокий уровень шума и бликов), результаты работы нескольких детекторов можно совместить. Например, для каждого отдельного дефекта может быть определен уровень дефекта с весовым коэффициентом. Таким образом, анализируемый кадр проверяется на наличие двух или более дефектов. На экране устройства дефекты для пользователя могут быть представлены в каком-либо графическом виде, как описано выше. В другом варианте реализации могут быть показаны результаты работы отдельных детекторов. В другом варианте реализации каждый детектор применяется отдельно. Такой подход удобно применять, например, в том случае, когда пользователь заинтересован в анализе кадра только на наличие одного вида дефектов, например, только бликов, шума, или размытия и т.д.
[00101] Как было описано выше, изображение может быть снято, если уровень одного или нескольких искажений кадра ниже предварительно заданного порога. В другом варианте реализации, кадр может быть выбран из текущей видеопоследовательности с минимальным уровнем искажений или, по меньшей мере, с уровнем искажений, который не превышает некоторое определенное пороговое значение. Например, каждый кадр в видеопоследовательности может быть проанализирован на обнаружения одного или нескольких дефектов. Кадр, обладающий минимальным количеством дефектов, может быть временно сохранен в памяти устройства. Далее, последующие кадры в видеопоследовательности могут не только анализироваться на предмет дефектов в кадре на основе вышеописанных способов, но также сравниваться с уже сохраненным кадром. Таким образом, если в момент времени (t+1), проанализированный кадр имеет меньшее количество дефектов по сравнению с уже сохраненным кадром в памяти устройства из момента времени t, то кадр (t+1) может быть сохранен на место предыдущего кадра (t) в память устройства.
[00102] В альтернативном варианте реализации, выбор и анализ кадра может быть выполнен не в режиме реального времени. Например, может быть записано видео, содержащее документы, причем это видео может быть проанализировано позднее. В качестве примера, один или более кадров, которые включают документы, могут быть извлечены из видео и проанализированы. Видео может быть сохранено в памяти (604) электронного устройства или получено из других внешних источников, например, из сети Интернет, из карт памяти или может быть загружено с других электронных устройств с помощью Bluetooth и т.д.
[00103] На Фиг. 13 приведен возможный пример вычислительного средства 1300, которое может быть использовано для внедрения настоящего изобретения, осуществленного посредством электронного устройства 102 так, как было описано выше. Вычислительное средство 1300 обычно включает в себя, по крайней мере, один процессор 1302, соединенный с памятью 1304. Процессор 1302 может представлять собой один или более процессоров, может содержать одно, два или более вычислительных ядер или представлять собой чип или другое устройство, способное производить вычисления. Память 1304 может представлять собой оперативную память (ОЗУ), а также содержать любые другие типы и виды памяти, в частности, устройства энергонезависимой памяти (например, флэш-накопители) и постоянные запоминающие устройства, например, жесткие диски и т.д. Кроме того, может считаться, что память 1304 включает в себя аппаратные средства хранения информации, физически размещенные где-либо еще в составе вычислительного средства 1300, например, кэшпамять в процессоре 1302, память, используемую в качестве виртуальной и хранимую на внешнем либо внутреннем постоянном запоминающем устройстве 1310.
[00104] Вычислительное средство 1300 также обычно имеет некоторое количество входов и выходов для передачи информации вовне и получения информации извне. Для взаимодействия с пользователем вычислительное средство 1300 может содержать одно или более устройств ввода 1306 (например, клавиатура, мышь, сканер и т.д.) и устройство отображения 1308 (например, жидкокристаллический дисплей или сигнальные индикаторы).
[00105] Вычислительное средство 1300 также может иметь одно или более постоянных запоминающих устройств 1310, например, привод оптических дисков (CD, DVD или другой), жесткий диск, ленточный накопитель. Кроме того, вычислительное средство 1300 может иметь интерфейс с одной или более сетями 1312, обеспечивающими соединение с другими сетями и вычислительными устройствами. В частности, это может быть локальная сеть (LAN), беспроводная сеть Wi-Fi, соединенные со всемирной сетью Интернет или нет. Подразумевается, что вычислительное средство 1300 включает подходящие аналоговые и/или цифровые интерфейсы между процессором 1302 и каждым из компонентов 1304, 1306, 1308, 1310 и 1312.
[00106] Вычислительное средство 1300 работает под управлением операционной системы 1314 и выполняет различные приложения, компоненты, программы, объекты, модули и т.д., указанные обобщенно цифрой 1316.
[00107] Программы, исполняемые для реализации способов, соответствующих данному изобретению, могут являться частью операционной системы или представлять собой обособленное приложение, компоненту, программу, динамическую библиотеку, модуль, скрипт, либо их комбинацию.
[00108] В целом, процедуры, выполняемые в различных вариантах осуществления, могут быть реализованы как часть операционной системы или конкретного приложения, компонента программы, объекта, модуля или последовательности инструкций, далее называемых «компьютерными программами». Компьютерные программы, как правило, содержат одну или более инструкций, размещенных в различное время в различных запоминающих устройствах и системах хранения данных в компьютере, которые, будучи полученными и выполненными одним или более процессоров системы, инициируют выполнение компьютером операций, необходимых для выполнения элементов описанных вариантов осуществления. Следует указать, что различные варианты осуществления были описаны в контексте полностью функционирующих компьютеров и компьютерных систем. Специалистам в данной области техники будет понятно, что различные варианты могут распространяться в виде программного продукта в различных формах, при этом возможности и назначение всех таких вариантов будут одинаковы вне зависимости от применяемого конкретного типа машиночитаемых носителей, используемых для распространения программного продукта. Примерами машиночитаемых носителей являются съемные записываемые носители, такие как энергозависимые и энергонезависимые запоминающие устройства, дискеты и другие съемные диски, жесткие диски, оптические диски (например, постоянные запоминающие устройства на основе компакт-диска (CD-ROM), универсальные цифровые диски (DVD), флэш-память и т.д.) и другие. Программное обеспечение также может распространяться через Интернет.
[00109] Множество конкретных деталей в приведенном выше описании изложено исключительно для пояснения. Специалистам в данной области техники, очевидно, что эти конкретные детали являются лишь примерами. В других случаях структуры и устройства показаны только в виде блок-схемы во избежание неоднозначности толкований.
[00110] Приводимые в данном описании ссылки на «один вариант реализации» или «вариант реализации» означают, что конкретный признак, структура или характеристика, описанные для варианта реализации, являются компонентом, по меньшей мере, одного варианта реализации. Использование фразы «в одном варианте реализации» в различных фрагментах описания не означает, что описания относятся к одному и тому же варианту реализации либо что эти описания относятся к различным или альтернативным, взаимно исключающим вариантам реализации. Кроме того, различные описания характеристик могут относиться к некоторым вариантам реализации и не относиться к другим вариантам реализации. Различные описания требований могут относиться к некоторым вариантам реализации и не относиться к другим вариантам реализации.
[00111] Некоторые образцы вариантов реализации были описаны и показаны на прилагаемых иллюстрациях. Однако необходимо понимать, что такие варианты реализации являются просто примерами, но не ограничениями описываемых вариантов реализации, и что эти варианты реализации не ограничиваются конкретными показанными и описанными конструкциями и устройствами, поскольку специалисты в данной области техники на основе приведенных материалов могут создать собственные варианты реализации. В области технологии, к которой относится настоящее изобретение, быстрое развитие и дальнейшие достижения сложно прогнозировать, поэтому описываемые варианты реализации могут быть с легкостью изменены в устройстве и деталях благодаря развитию технологии, с соблюдением при этом принципов настоящего описываемого изобретения.