RU2653461C2 - Обнаружение блика в кадре данных изображения - Google Patents

Обнаружение блика в кадре данных изображения Download PDF

Info

Publication number
RU2653461C2
RU2653461C2 RU2014101665A RU2014101665A RU2653461C2 RU 2653461 C2 RU2653461 C2 RU 2653461C2 RU 2014101665 A RU2014101665 A RU 2014101665A RU 2014101665 A RU2014101665 A RU 2014101665A RU 2653461 C2 RU2653461 C2 RU 2653461C2
Authority
RU
Russia
Prior art keywords
frame
statistics
components
areas
component
Prior art date
Application number
RU2014101665A
Other languages
English (en)
Other versions
RU2014101665A (ru
Inventor
Константин Юрьевич Бочаров
Михаил Валерьевич Костюков
Original Assignee
Общество с ограниченной ответственностью "Аби Девелопмент"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Аби Девелопмент" filed Critical Общество с ограниченной ответственностью "Аби Девелопмент"
Priority to RU2014101665A priority Critical patent/RU2653461C2/ru
Publication of RU2014101665A publication Critical patent/RU2014101665A/ru
Application granted granted Critical
Publication of RU2653461C2 publication Critical patent/RU2653461C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/18Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints using printed characters having additional code marks or containing code marks, e.g. the character being composed of individual strokes of different shape, each representing a different code value
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/36Image preprocessing, i.e. processing the image information without deciding about the identity of the image
    • G06K9/40Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/36Image preprocessing, i.e. processing the image information without deciding about the identity of the image
    • G06K9/46Extraction of features or characteristics of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/36Image preprocessing, i.e. processing the image information without deciding about the identity of the image
    • G06K9/46Extraction of features or characteristics of the image
    • G06K9/52Extraction of features or characteristics of the image by deriving mathematical or geometrical properties from the whole image
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/005Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2209/00Indexing scheme relating to methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K2209/01Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20201Motion blur correction

Abstract

Изобретение относится к области анализа кадра, включающего данные изображения, для обнаружения дефектов в кадре. Технический результат – обнаружение бликов в кадре посредством использования вычисленного набора статистик для связных компонент. Способ обнаружения бликов в кадре включает предварительную обработку кадра, включающего данные изображения; определение набора связных компонент в предварительно обработанном кадре; вычисление набора статистик для одной или более связных компонент из набора связных компонент; принятие решения для одной или более связных компонент, на основе вычисленного набора статистик, о том, является ли данная связная компонента засветом, при этом указанное вычисление набора статистик включает сбор по меньшей мере одной статистики направлений и по меньшей мере одного значения градиента яркости по границе по меньшей мере одной связной бинаризованной области; и определение с учетом принятого решения для одной или более связных компонент посредством процессора, того, присутствует ли один или более бликов в кадре. 3 н. и 31 з.п. ф-лы, 22 ил.

Description

УРОВЕНЬ ТЕХНИКИBACKGROUND
[0001] Различные мобильные устройства оснащены встроенной камерой. Фотографии, полученные с помощью мобильных устройств, могут содержать различные типы дефектов, такие как размытые области (смаз), нечеткие или расфокусированные области, области с бликом и др. Прежде чем фотография сцены получена, сцена может быть отображена на экране видоискателя. Определение момента совершения съемки для получения кадра с минимальным количеством дефектов на нем, может быть проблемной задачей. Дефекты в отснятых изображениях могут быть вызваны одной или несколькими различными причинами: ограниченным разрешением матрицы камеры, недостатками оптической системы электронного устройства, применением алгоритмов кодирования данных, а также нечувствительными или неподходящими алгоритмами сжатия. Недостатки в использовании мобильных камер, такие как дрожания рук или неидеальные условия освещения, также могут стать причиной возникновения дефектов на полученных изображениях. К числу таких дефектов можно отнести оптические искажения, смаз, вызванный ограниченной скоростью затвора; зашумленности; эффект сглаживания; расфокусировку; блик на изображениях и т.д. Подобные дефекты могут негативно повлиять на обработку отснятого изображения.[0001] Various mobile devices are equipped with an integrated camera. Photos taken using mobile devices may contain various types of defects, such as blurry areas (blurry), fuzzy or defocused areas, areas with glare, etc. Before a photograph of a scene is taken, the scene can be displayed on the viewfinder. Determining when to shoot to get a frame with a minimal amount of defects on it can be a problem. Defects in the captured images can be caused by one or several different reasons: the limited resolution of the camera matrix, the disadvantages of the optical system of the electronic device, the use of data encoding algorithms, as well as insensitive or inappropriate compression algorithms. Deficiencies in the use of mobile cameras, such as hand shakes or imperfect lighting conditions, can also cause defects in the resulting images. These defects include optical distortion, blur caused by a limited shutter speed; noisiness; smoothing effect; defocusing; flare on images, etc. Such defects can adversely affect the processing of the captured image.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
[0002] В настоящем описании представлены системы, машиночитаемые носители и способы обнаружения блика в кадре данных изображения. Сначала кадр подвергается предварительной обработке. Определяется множество связных компонент в предварительно обработанном кадре. Рассчитывается множество статистик для одной или нескольких связных компонент в множестве связных компонент. Происходит принятие решения для одной или нескольких связных компонент, на основе рассчитанного множества статистик о том, является ли данная связная компонента засветом. Определяется наличие блика в кадре.[0002] The present description provides systems, computer-readable media, and methods for detecting flare in a frame of image data. First, the frame is pre-processed. A plurality of connected components is determined in a pre-processed frame. The set of statistics for one or more connected components in the set of connected components is calculated. A decision is made for one or more connected components, based on the calculated set of statistics about whether this connected component is a light. The presence of glare in the frame is determined.
[0003] Описаны системы, машиночитаемые носители и способы предварительного анализа данных на изображении, например, кадра (текущего вида или сцены) на дисплее видоискателя до момента совершения съемки изображения, а также осуществления контроля создания изображений с помощью камеры, встроенной в портативное электронное устройство. В различных вариантах осуществления, результаты предварительного анализа кадра отображаются в виде визуальных сигналов на экране в режиме реального времени. Данные визуальные сигналы могут существенно упростить процесс получения снимков и улучшить качество полученных снимков.[0003] Systems, computer-readable media, and methods for preliminary analysis of data on an image, for example, a frame (current view or scene) on the viewfinder display until the image is taken, as well as controlling the creation of images using a camera built into a portable electronic device, are described. In various embodiments, the results of the preliminary analysis of the frame are displayed as visual signals on the screen in real time. These visual signals can greatly simplify the process of acquiring images and improve the quality of the obtained images.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[0004] Вышеуказанные и другие особенности настоящего изобретения будут более очевидными из приведенного ниже описания и прилагаемой формулы изобретения, рассматриваемых совместно с прилагаемыми чертежами. Представленные чертежи демонстрируют лишь несколько вариантов реализации описываемого изобретения в соответствии с раскрытием данного изобретения и, следовательно, не должны рассматриваться как ограничивающие область описываемого изобретения. Изобретение будет раскрыто с дополнительной конкретизацией и подробностями посредством прилагаемых чертежей.[0004] The above and other features of the present invention will be more apparent from the description below and the accompanying claims, taken in conjunction with the accompanying drawings. The presented drawings demonstrate only a few embodiments of the described invention in accordance with the disclosure of the present invention and, therefore, should not be construed as limiting the scope of the described invention. The invention will be disclosed with further specification and details by means of the accompanying drawings.
[0005] Фиг. 1A иллюстрирует экран электронного устройства, содержащий фрагмент кадра на экране видоискателя с наличием области смаза в кадре в соответствии с реализацией настоящего описания.[0005] FIG. 1A illustrates a screen of an electronic device containing a fragment of a frame on a viewfinder screen with the presence of a smear area in the frame in accordance with an embodiment of the present description.
[0006] Фиг. 1Б иллюстрирует фрагмент кадра, проиллюстрированного на Фиг. 1A, после бинаризации в соответствии с реализацией настоящего описания.[0006] FIG. 1B illustrates a fragment of the frame illustrated in FIG. 1A, after binarization in accordance with the implementation of the present description.
[0007] Фиг. 2 является блок-схемой алгоритма, иллюстрирующего реализацию обнаружения областей смаза и расфокусировки в соответствии с реализацией настоящего описания.[0007] FIG. 2 is a flowchart illustrating an implementation for detecting grease and defocus areas in accordance with an implementation of the present description.
[0008] Фиг. 3 является блок-схемой алгоритма, иллюстрирующего реализацию обнаружения бликов в соответствии с реализацией настоящего описания.[0008] FIG. 3 is a flowchart illustrating an implementation of glare detection in accordance with an implementation of the present description.
[0009] Фиг. 4A иллюстрирует пример лапласиан-изображения, полученного из фрагмента, изображенного на Фиг. 1A в соответствии с реализацией настоящего описания.[0009] FIG. 4A illustrates an example of a Laplacian image obtained from the fragment depicted in FIG. 1A in accordance with an implementation of the present description.
[0010] Фиг. 4Б иллюстрирует границы объектов для фрагмента 1А, полученного из лапласиан-изображения, проиллюстрированного на Фиг. 4А, с помощью применения фильтра нулевого контура в соответствии с реализацией настоящего описания[0010] FIG. 4B illustrates object boundaries for fragment 1A obtained from the Laplacian image illustrated in FIG. 4A, by applying a zero loop filter in accordance with an implementation of the present description
[0011] Фиг. 5А иллюстрирует профиль второй производной в направлении градиента для точки 402 на Фиг. 4А в соответствии с одним из вариантов реализации настоящего изобретения.[0011] FIG. 5A illustrates the profile of the second derivative in the gradient direction for point 402 in FIG. 4A in accordance with one embodiment of the present invention.
[0012] Фиг. 5Б иллюстрирует представление в пространстве признаков в виде восьми векторов (расположенных под углом 45 градусов между друг другом) и эллипс, соответствующий тензору инерции, вычисленный для них в соответствии с реализацией настоящего описания.[0012] FIG. 5B illustrates the representation in space of signs in the form of eight vectors (located at an angle of 45 degrees between each other) and an ellipse corresponding to the inertia tensor calculated for them in accordance with the implementation of the present description.
[0013] Фиг. 6А иллюстрирует пример кадра, содержащего блик в соответствии с реализацией настоящего описания.[0013] FIG. 6A illustrates an example of a frame containing a glare in accordance with an implementation of the present description.
[0014] Фиг. 6Б иллюстрирует фрагмент кадра, проиллюстрированного на Фиг. 6А, после бинаризации в соответствии с реализацией настоящего описания.[0014] FIG. 6B illustrates a fragment of the frame illustrated in FIG. 6A, after binarization in accordance with the implementation of the present description.
[0015] Фиг. 7А, 7Б иллюстрируют примеры бинаризации исходного кадра на Фиг. 6А с различными субоптимальными порогами бинаризации в соответствии с реализацией настоящего описания.[0015] FIG. 7A, 7B illustrate examples of binarization of the original frame in FIG. 6A with various suboptimal binarization thresholds in accordance with an embodiment of the present disclosure.
[0016] Фиг. 8 иллюстрирует обнаруженную односвязную область, пример блика, градиент яркости которого направлен к центру в соответствии с реализацией настоящего описания.[0016] FIG. 8 illustrates a detected simply connected region, an example of a glare whose brightness gradient is directed toward the center in accordance with an implementation of the present description.
[0017] Фиг. 9А, 9Б и 9В иллюстрируют примеры скриншотов экранов, включающих прямоугольную сетку для обозначения дефектов в соответствии с реализацией настоящего описания.[0017] FIG. 9A, 9B and 9B illustrate examples of screenshots of screens including a rectangular grid for indicating defects in accordance with an embodiment of the present description.
[0018] Фиг. 10 иллюстрирует пример скриншота экрана, включающего гексагональную сетку для обозначения дефектов в соответствии с реализацией настоящего описания.[0018] FIG. 10 illustrates an example screenshot of a screen including a hexagonal grid for defect identification in accordance with an embodiment of the present description.
[0019] Фиг. 11А, 11Б, и 11В иллюстрируют примеры скриншотов экранов, которые включают цветовое представление для обозначения типов и уровня обнаруженных дефектов в кадре в соответствии с реализацией настоящего описания.[0019] FIG. 11A, 11B, and 11B illustrate examples of screenshots of screens that include a color representation to indicate the types and level of detected defects in a frame in accordance with an implementation of the present description.
[0020] Фиг. 12 иллюстрирует линию вокруг области обнаруженного блика в кадре и позволяет скорректировать границу дефекта в соответствии с реализацией настоящего описания.[0020] FIG. 12 illustrates a line around an area of detected flare in a frame and allows correction of a defect border in accordance with an embodiment of the present description.
[0021] Фиг. 13 иллюстрирует пример компьютерной системы или устройства для применения техник, описанных здесь.[0021] FIG. 13 illustrates an example of a computer system or device for applying the techniques described herein.
[0022] Нижеследующее подробное описание содержит ссылки на прилагаемые иллюстрации. На чертежах одинаковые символы обычно используются для идентификации одинаковых компонентов, если контекст не требует иного. Варианты реализации, представленные в подробном описании, чертежах и формуле изобретения, не служат для ограничения области его применения. Помимо этого могут использоваться другие варианты реализации, а также могут вноситься другие изменения, которые не вызывают отступления от сущности или объема представленного в данном описании предмета изобретения. Важно отметить, что компоненты раскрываемого изобретения, представленного и проиллюстрированного в настоящем описании, можно сочетать, взаимно заменять и применять множеством различных способов, при этом все они являются равнозначными и относятся к области раскрываемого изобретения.[0022] The following detailed description contains links to the accompanying illustrations. In the drawings, the same symbols are usually used to identify the same components, unless the context requires otherwise. The implementation options presented in the detailed description, drawings and claims are not intended to limit its scope. In addition, other implementations may be used, and other changes may be made that do not cause a departure from the essence or scope of the subject invention presented in this description. It is important to note that the components of the disclosed invention, presented and illustrated in the present description, can be combined, mutually replaced and applied in many different ways, while all of them are equivalent and belong to the field of the disclosed invention.
ДЕТАЛЬНОЕ ОПИСАНИЕDETAILED DESCRIPTION
[0023] Применения различных описанных реализаций относятся к анализу кадра данных изображения, с целью обнаружения дефектов в данном кадре. Кадр может представлять собой данные, отображаемые в видоискателе. Обнаруженные дефекты могут быть проанализированы перед выводом изображения пользователю. Оценка кадра на наличие в нем дефектов может быть использована для того, чтобы исключить съемку изображений, которые плохо подходят или совсем непригодны для распознавания. Предварительные результаты обнаружения дефектов в кадре могут отображаться непосредственно на экране мобильного устройства для того, чтобы улучшить условия съемки для повышения качества изображения. Например, дефекты могут быть выделены визуально, или же пользователь может быть информирован об обнаруженных дефектах в кадре посредством мобильного устройства.[0023] Applications of the various described implementations relate to the analysis of a frame of image data in order to detect defects in a given frame. A frame may be data displayed in the viewfinder. Detected defects can be analyzed before displaying the image to the user. Evaluation of the frame for defects in it can be used in order to exclude the shooting of images that are poorly suited or completely unsuitable for recognition. Preliminary results of the detection of defects in the frame can be displayed directly on the screen of the mobile device in order to improve the shooting conditions to improve image quality. For example, defects can be highlighted visually, or the user can be informed about detected defects in the frame via a mobile device.
[0024] В другом варианте реализации, производится анализ кадра отображаемой на экране видоискателя электронного устройства сцены. Отображение кадра на экране мобильного устройства может производиться в режиме реального времени без записи видео или съемки изображения и без сохранения кадра в долгосрочной памяти электронного устройства. Анализ может выполняться на нескольких кадрах, далее выбирается кадр, содержащий наименьшее количество шума и дефектов. Этот кадр может быть отображен наряду с результатами обнаруженных дефектов в виде визуальных сигналов. Соответственно смаз, расфокусировка и блик могут быть обнаружены, и области с дефектами могут быть отображены на дисплее электронного устройства.[0024] In another embodiment, an analysis is made of a frame displayed on the viewfinder screen of an electronic scene device. The frame can be displayed on the screen of a mobile device in real time without recording video or capturing an image and without saving the frame in the long-term memory of the electronic device. The analysis can be performed on several frames, then a frame containing the least amount of noise and defects is selected. This frame can be displayed along with the results of detected defects in the form of visual signals. Accordingly, smearing, defocusing and glare can be detected, and areas with defects can be displayed on the display of the electronic device.
[0025] В другом варианте реализации, захват изображения, представленного в кадре, может осуществляться автоматически, если уровень дефектов в кадре не превышает некоторое пороговое значение. Соответственно, предварительный анализ кадра на основе данных, полученных при помощи линзы камеры, может быть использован для определения момента, когда снять и сохранить в памяти устройства изображение сцены, представленной в кадре.[0025] In another embodiment, the image presented in the frame can be captured automatically if the level of defects in the frame does not exceed a certain threshold value. Accordingly, a preliminary analysis of the frame based on the data obtained using the camera lens can be used to determine when to capture and store the image of the scene presented in the frame in the device’s memory.
[0026] В последующем описании, термин «кадр» обозначает некий контент, например, изображение, отображаемое на экране электронного устройства, получаемое с использованием видоискателя камеры. Этот кадр может передаваться на дисплей электронного устройства в режиме реального времени без осуществления записи видео или съемки/сохранения изображения в долгосрочной памяти.[0026] In the following description, the term "frame" refers to certain content, for example, an image displayed on the screen of an electronic device, obtained using a camera viewfinder. This frame can be transmitted to the display of an electronic device in real time without recording video or shooting / saving the image in long-term memory.
[0027] Существует множество портативных электронных устройств с экранами, способными отображать текст и/или изображения. Эти портативные устройства обычно оснащены камерой, которая позволяет данным устройствам снимать изображения. К устройствам с дисплеем и (или) сенсорным экраном и камерой относятся многие портативные устройства, такие как ноутбуки, планшетные компьютеры, смартфоны, мобильные телефоны, карманные персональные компьютеры (КПК) и т.д. Существуют различные способы, предназначенные для облегчения автоматического получения или съемки изображения документа, содержащего текст, так чтобы уровень дефектов в кадре не превышал некоторого порогового значения.[0027] There are many portable electronic devices with screens capable of displaying text and / or images. These portable devices are usually equipped with a camera that allows these devices to take images. Devices with a display and / or touch screen and camera include many portable devices such as laptops, tablets, smartphones, mobile phones, personal digital assistants (PDAs), etc. There are various methods designed to facilitate the automatic acquisition or capture of an image of a document containing text so that the level of defects in the frame does not exceed a certain threshold value.
[0028] Фиг. 1А представляет пример экрана электронного устройства 102, содержащем кадр 108 в видоискателе в соответствии с одним из вариантов реализации данного изобретения. Электронное устройство 102 имеет экран дисплея 104 и кнопку камеры 106 для запуска и выполнения съемки изображения/кадра камерой, встроенной в электронное устройство. Кнопка 106 может быть отображена на экране электронного устройства в виде виртуальной кнопки, в зависимости от интерфейса устройства, или реально существующей (т.е. физическая кнопка на экране или другой части устройства 102 связана с системным блоком электронного устройства 102). Кадр 108, отображаемый на экране дисплея 104 электронного устройства 102, может быть получен при помощи видоискателя камеры, который передает отображение документа на экран дисплея 104. Кадр 108 представляет собой сигнал, фиксируемый оптической системой (АЦП, фотоматрицей) и выводимый на экран 104 устройства 102. Некоторые электронные устройства позволяют отображать кадр в реальном времени без совершения съемки документа. Кадр 108 на экране устройства 102 обладает одним из описанных выше дефектов, а именно текст в кадре смазан. Это усложняет дальнейшую его обработку или делает ее практически невозможной. Например, результат бинаризации данного фрагмента текста, предствленного на Фиг. 1А, показан на Фиг. 1Б.[0028] FIG. 1A is an example of a screen of an electronic device 102 comprising a frame 108 in a viewfinder in accordance with one embodiment of the present invention. The electronic device 102 has a display screen 104 and a camera button 106 for starting and performing image / frame shooting with a camera integrated in the electronic device. The button 106 may be displayed on the screen of the electronic device as a virtual button, depending on the device’s interface, or actually existing (i.e., a physical button on the screen or other part of the device 102 is connected to the system unit of the electronic device 102). The frame 108 displayed on the display screen 104 of the electronic device 102 can be obtained using the camera viewfinder, which transmits the display of the document to the display screen 104. The frame 108 is a signal captured by the optical system (ADC, photomatrix) and displayed on the screen 104 of the device 102 Some electronic devices allow you to display a frame in real time without taking a document. The frame 108 on the screen of the device 102 has one of the defects described above, namely, the text in the frame is blurry. This complicates its further processing or makes it almost impossible. For example, the result of binarization of a given fragment of the text presented in FIG. 1A is shown in FIG. 1B.
[0029] Обнаружения искажений границ объектов является достаточно универсальным средством, и может быть применен не только для систем распознавания, но и в любых других прикладных задач обработки изображений/кадров, например в системах сканирования, видео и фотокамерах, системах контроля качества печати, зрения робота и др.[0029] Detection of distortion of the boundaries of objects is a fairly universal tool, and can be used not only for recognition systems, but also in any other applied tasks of image / frame processing, for example, in scanning systems, video and cameras, print quality control systems, and robot vision and etc.
[0030] Характеристики алгоритмов обнаружения смаза и расфокусировки могут включать в себя:[0030] The characteristics of the lubrication detection and defocus algorithms may include:
- Достоверность обнаруженной области с дефектом;- Reliability of the detected defective area;
- Эффективность или высокая производительность;- Efficiency or high performance;
- Устойчивость к высоким шумам, которые особенно свойственны изображениям/кадрам, полученным при помощи камеры, встроенной в мобильные устройства;- Resistance to high noise, which is especially characteristic of images / frames obtained using a camera built into mobile devices;
- Устойчивость к неравномерности освещения, к слишком низкому или слишком высокому уровню освещения; и- Resistance to uneven lighting, to too low or too high levels of lighting; and
- Устойчивость к гистограммным преобразованиям (например, эквализации).- Resistance to histogram transformations (for example, equalization).
[0031] Приведенные выше характеристики могут значительно осложнить задачу обнаружение области смаза в каждом конкретном случае. Одним из способов упрощения задачи является сужение класса обрабатываемых изображений до тех, которые включают в себя определенные типы объектов. Например, изображения, которые включают в себя изображения клеток или бактерий, текстурированных объектов, текст, изображения штрих-кодов или свет и тень и т.д. Если ожидаемый тип объекта на изображении известен заранее, можно определить признаки, характерные не только для самих объектов, но и для их смаза на этих объектах. Однако даже при сужении класса изображений задача обнаружения смаза может оставаться достаточно сложной из-за требований к производительности и устойчивости к шуму.[0031] The above characteristics can greatly complicate the task of detecting the area of the lubricant in each case. One way to simplify the task is to narrow the class of processed images to those that include certain types of objects. For example, images that include images of cells or bacteria, textured objects, text, barcode images, or light and shadow, etc. If the expected type of the object in the image is known in advance, you can determine the characteristics that are characteristic not only for the objects themselves, but also for their lubrication on these objects. However, even with a narrowing of the class of images, the task of detecting the grease can remain quite complicated due to the requirements for performance and noise resistance.
[0032] Один или более следующих признаков может быть использован для определения наличия смаза или расфокусировки в кадре:[0032] One or more of the following features can be used to determine if there is smear or defocus in the frame:
- Признаки в частотной области;- Signs in the frequency domain;
- Особенности в гистограмме градиента;- Features in the gradient histogram;
- Отсутствие насыщенных цветов;- Lack of saturated colors;
- Особенности в распределении границ по направлениям; и- Features in the distribution of borders in directions; and
- Локальная корреляция (размытие границ, параллельных движению).- Local correlation (blurring of borders parallel to movement).
На основе анализа этих параметров и их сочетаний можно определять тип и области искажений на изображениях.Based on the analysis of these parameters and their combinations, it is possible to determine the type and areas of distortion in the images.
[0033] Возможность обнаруживать границы на изображениях с искажениями зависит от степени этих искажений, относительного размера и контраста информационных элементов в этом изображении. Так, маленькие или слабоконтрастные буквы практически нечитаемые при слабом размытии, хотя большие или сильноконтрастные буквы остаются хорошо читаемыми при той же (или даже большей) степени размытости. Как описано более подробно ниже, относительный размер и контрастность информационных элементов могут приниматься во внимание при определении дефектов и областей этих дефектов.[0033] The ability to detect borders in distorted images depends on the degree of these distortions, the relative size and contrast of the information elements in that image. So, small or low contrast letters are practically unreadable with slight blur, although large or high contrast letters remain well readable with the same (or even more) degree of blur. As described in more detail below, the relative size and contrast of information elements can be taken into account when defining defects and areas of these defects.
[0034] Дополнительно к обнаружению дефектов или искажения на изображении, полезным может оказаться обнаружение степени данных искажений. Кроме того, определение типа искажения, например, смаза, расфокусировки или блика, также может оказаться полезным. Тип искажения в одной или нескольких областях можно определить путем экстраполяции информации из соседних областей.[0034] In addition to detecting defects or distortions in the image, it may be useful to detect the extent of these distortions. In addition, determining the type of distortion, such as blur, defocus, or glare, can also be useful. The type of distortion in one or more areas can be determined by extrapolating information from neighboring areas.
[0035] В одном из вариантов реализации, съемка изображения камерой, встроенной в электронное устройство, выполняется при нажатии кнопки для запуска и выполнения съемки изображения. Однако можно не просто сфотографировать изображение по нажатию на кнопку, а проанализировать его, чтобы определить, не превышает ли количество искажений некий заранее заданный порог. Кнопка пуска нажата, анализ кадра может быть начат.Примером кнопки, по нажатию на которую может быть инициирован анализ кадра, может быть кнопка 106, проиллюстрированная на Фиг. 1А.[0035] In one embodiment, capturing an image by a camera integrated in an electronic device is performed when a button is pressed to start and perform image capturing. However, you can not just take a picture of the image at the touch of a button, but analyze it to determine if the amount of distortion exceeds a certain predetermined threshold. A start button is pressed, frame analysis can be started. An example of a button by pressing which a frame analysis can be initiated can be a button 106, illustrated in FIG. 1A.
[0036] Видоискатели электронных устройств могут обеспечивать передачу данных изображения на экран устройства в реальном времени. Анализ кадра на наличие в нем дефектов может быть выполнен для каждого кадра или для подмножества кадров, полученных через видоискатель. К примеру, анализу может быть подвергнут каждый десятый кадр, отображаемый в видоискателе. Допустимы и другие показатели частоты, например, один из 2, 4, 6, 100 или 200 кадров. Каждый кадр или каждый выбранный кадр может быть проанализирован для выявления одной или нескольких видов дефектов: смаза, расфокусировки, бликов или шума. Выбор и анализ кадра может выполняться без прерывания отображения данных изображения в видоискателе.[0036] Viewfinders of electronic devices can provide image data on a device screen in real time. An analysis of a frame for defects in it can be performed for each frame or for a subset of frames received through the viewfinder. For example, every tenth frame displayed in the viewfinder can be analyzed. Other frequency indicators are acceptable, for example, one of 2, 4, 6, 100 or 200 frames. Each frame or each selected frame can be analyzed to identify one or more types of defects: blur, defocus, glare or noise. Frame selection and analysis can be performed without interrupting the display of image data in the viewfinder.
[0037] Обнаружение смаза и расфокусировки[0037] Lubrication and Defocus Detection
[0038] Согласно различным вариантам реализации изобретения, для обнаружения размытия (смаза) и расфокусировки может быть использован фильтр Лапласа. Выводы о наличии смаза или расфокусировки в кадре могут быть сделаны на основе анализа вторых производных яркости кадра в окрестности их точек пересечения нуля. Если область содержит объекты с контрастными границами, то точки пересечения нуля детектируются легко. В противном случае отсутствие контрастных границ говорит о высоком уровне шума или сильной степени размытости.[0038] According to various embodiments of the invention, a Laplace filter can be used to detect blur (smear) and defocus. Conclusions about the presence of smear or defocus in the frame can be made based on the analysis of the second derivatives of the brightness of the frame in the vicinity of their zero intersection points. If the area contains objects with contrasting boundaries, then zero crossing points are easily detected. Otherwise, the absence of contrasting borders indicates a high noise level or a strong degree of blur.
[0039] В одном из вариантов реализации, для обнаружения границ объекта используются методы второго порядка. К таким методам относятся LoG (Laplacian of Gaussian) и DoG (Difference of Gaussian) фильтры.[0039] In one embodiment, second-order methods are used to detect the boundaries of an object. These methods include LoG (Laplacian of Gaussian) and DoG (Difference of Gaussian) filters.
[0040] Применение фильтра может быть эффективно вычислено за линейное время на основе количества пикселей на изображении. В случае использования лапласиана аппроксимация второй производной по заданному направлению функции яркости представляет собой срез на изображении лапласиана, проходящий через пиксель вдоль этого направления. Это приближение в окрестности анализируемой точки далее называется «профилем точки».[0040] The application of the filter can be effectively calculated in linear time based on the number of pixels in the image. In the case of using the Laplacian, the approximation of the second derivative in the given direction of the brightness function is a slice in the image of the Laplacian passing through a pixel along this direction. This approximation in the vicinity of the analyzed point is hereinafter called the “point profile”.
[0041] При выборе параметров для DoG или LoG фильтрации можно учитывать особенности класса изображений и особенности устройства камеры, чтобы при известных параметрах шума и характеристиках объектов на изображении наилучшим образом обнаружить наличие искажений.[0041] When choosing options for DoG or LoG filtering, you can take into account the features of the image class and the features of the camera device, so that with known noise parameters and characteristics of objects in the image, the presence of distortions is best detected.
[0042] В фильтре LoG сначала используется сглаживание Гаусса, затем применяется фильтр Лапласа. Фильтр DoG представляет собой разность двух сглаженных по методу Гаусса изображений, полученных путем свертки исходного изображения с помощью функции Гаусса, имеющей различные степени сглаживания (стандартное отклонение). Для настройки фильтров, используются параметры σ1 и σ2 (стандартное отклонение) при сглаживании методом Гаусса:[0042] In the LoG filter, Gaussian smoothing is first used, then the Laplace filter is applied. The DoG filter is the difference between two Gaussian-smoothed images obtained by convolution of the original image using the Gauss function, which has different degrees of smoothing (standard deviation). To configure the filters, the parameters σ 1 and σ 2 (standard deviation) are used for smoothing by the Gauss method:
Figure 00000001
Figure 00000001
[0043] Далее может производиться проверка фильтра нулевого контура («zero checking»), т.е. когда результирующее значение переходит из отрицательного значения в положительное, или наоборот. Результатом применения вышеописанных фильтров является изображение с границами объектов на исходном изображении.[0043] Next, a “zero checking” filter may be checked, i.e. when the resulting value goes from negative to positive, or vice versa. The result of applying the above filters is an image with the boundaries of the objects in the original image.
[0044] В процессе обнаружения смаза или расфокусировки можно анализировать не все изображение целиком, а только границы объектов. Наличие объектов с хорошо выделяемыми границами характерно для достаточно обширных классов изображений. Такие дефекты, как смаз и расфокусировка, обычно приводят к уменьшению четкости границ.[0044] In the process of detecting smear or defocusing, it is possible to analyze not the entire image, but only the boundaries of the objects. The presence of objects with well-defined boundaries is characteristic of fairly extensive classes of images. Defects such as smearing and defocusing usually result in less sharp edges.
[0045] Для многих кадров характерно наличие перепада яркости на границах объектов. В случае неискаженных изображений такие перепады обычно представляют собой скачкообразные изменения яркости на границах объектов. Срез идеального изображения документа близок к «ступеньке». Сделав срез через все изображение, можно получить функцию, близкую к кусочно-постоянной или ступенчатой функции. Однако, из-за несовершенства регистрирующей системы, последствий дискретизации и других процессов, ступенчатая функция размывается и накладывается шум. Тем не менее, на изображениях с незначительными искажениями границы текста представляют собой хорошо детектируемые (различимые) скачкообразные изменения яркости.[0045] Many frames are characterized by the presence of a brightness difference at the boundaries of objects. In the case of undistorted images, such differences are usually sudden changes in brightness at the boundaries of objects. The slice of the ideal image of the document is close to the "step". Having made a slice through the whole image, you can get a function close to a piecewise constant or step function. However, due to imperfections in the recording system, the consequences of discretization, and other processes, the step function is blurred and noise is superimposed. However, in images with slight distortion, text boundaries are well-detectable (distinguishable) spasmodic changes in brightness.
[0046] После прохождения света через оптическую систему и регистрации изображения на фотодетекторе могут произойти различные искажения исходного изображения, такие как неравномерное освещение, смаз, расфокусировка и шумы. Если изображение обрабатывается и сжимается, то могут быть внесены дополнительные искажения (например, при использовании JPEG, или другого алгоритма сжатия с потерями, который становятся причиной JPEG артефактов). Всем перечисленным искажениям подвергаются и границы объектов. Таким образом, для реальных границ объектов в кадре, перепады яркости представляют собой постепенное зашумленное изменение значения яркости. Тем самым, анализируя профиль яркости на границах, можно сделать вывод о типе и степени искажений.[0046] After the light passes through the optical system and the image is recorded on the photodetector, various distortions of the original image may occur, such as uneven lighting, blurry, defocusing and noise. If the image is processed and compressed, additional distortion may be introduced (for example, when using JPEG, or another lossy compression algorithm that causes JPEG artifacts). The boundaries of objects are subject to all of the above distortions. Thus, for the real boundaries of objects in the frame, the brightness differences are a gradual noisy change in the brightness value. Thus, analyzing the brightness profile at the borders, we can conclude about the type and degree of distortion.
[0047] Ссылаясь на Фиг. 2 предположения о наличии смаза или расфокусировки в исходном изображении (201) формулируются на основе анализа вторых производных яркости изображения (шаг 202). Для этого сначала находятся границы объектов (шаг 203), затем для точек границ строятся профили второй производной вдоль направления градиента (шаг 204) и собирается статистика о параметрах этих профилей вдоль различных направлений (шаг 205). Анализируя статистику (шаг 206), можно установить наличие и тип искажения 207 (например, смаз или расфокусировка), степень искажения, направление смаза, и т.д. Кроме того, степень искажения изображения также можно частично определить на основании статистических данных (208).[0047] Referring to FIG. 2 assumptions about the presence of smear or defocus in the original image (201) are formulated based on the analysis of the second derivatives of the image brightness (step 202). To do this, first find the boundaries of the objects (step 203), then for the points of the boundaries, the profiles of the second derivative are built along the direction of the gradient (step 204) and statistics are collected on the parameters of these profiles along different directions (step 205). By analyzing the statistics (step 206), it is possible to establish the presence and type of distortion 207 (for example, blur or defocus), the degree of distortion, the direction of the grease, etc. In addition, the degree of image distortion can also be partially determined based on statistical data (208).
[0048] На шаге 202, чтобы получить производные второго порядка для исходного изображения (201)кадра, могут быть использован любой лапласиан фильтр, или фильтр, представляющий собой некоторую аппроксимацию лапласиана. Для уменьшения влияния шумов кадр предварительно может быть сглажен, для чего может использоваться сглаживание Гаусса или любой другой существующий метод сглаживания, например медианный фильтр, адаптивный медианный фильтр, и т.д.. Также могут быть использованы преобразования, объединяющие в себе оба вида фильтрации, например, такие как LoG (Laplacian of Gaussian) фильтрация, представляющая собой фильтрацию с помощью Гауссиана, или DoG фильтрация (Difference of Gaussian). [0049] Сглаженное изображение, к которому был применен фильтр Лапласиана, либо любую его аппроксимацию будем называть изображением Лапласа. Примером изображения Лапласа является фрагмент, проиллюстрированный на Фиг. 4А. Вид фильтра (сглаживание и аппроксимация) и параметры фильтрации (например, стандартное отклонение сглаживания по Гауссу) могут быть подобраны таким образом, чтобы учесть особенности класса изображений или особенности оптической системы фото-устройства.[0048] In step 202, in order to obtain second-order derivatives for the original image (201) of the frame, any Laplacian filter, or a filter representing some approximation of the Laplacian, can be used. To reduce the effect of noise, the frame can be pre-smoothed, for which Gaussian smoothing or any other existing smoothing method can be used, for example, median filter, adaptive median filter, etc. Conversions combining both types of filtering can also be used, for example, such as LoG (Laplacian of Gaussian) filtering, which is filtering using a Gaussian, or DoG filtering (Difference of Gaussian). [0049] The smoothed image to which the Laplacian filter was applied, or any approximation thereof, will be called the Laplace image. An example of a Laplace image is the fragment illustrated in FIG. 4A. The type of filter (smoothing and approximation) and filtering parameters (for example, Gaussian standard smoothing deviation) can be selected in such a way as to take into account the features of the image class or the features of the optical system of the photo device.
[0050] На шаге 203 к полученному изображению Лапласа применяется фильтр нулевого контура. Как показано на Фиг. 4Б. Результатом такой фильтрации является изображение с выделенными границами толщиной в один пиксель. При этом возможно появление ложных границ, возникновение которых обычно связано с зашумленностью исходного изображения. Чтобы сократить число ложных границ, для фильтра нулевого контура задается некое пороговое значение. Порог устанавливает минимальную величину перепада яркости между соседними или близкими пикселями на изображении Лапласа, при которой точка пересечения нулевого уровня считается границей. Порог может быть вычислен на основе параметров примененного сглаживания и зашумленности исходного изображения, например на основе значения дисперсии шума. Таким образом, пороговое значение можно подобрать. В некоторых случаях информация о шуме может быть известна заранее, например некоторые фотокамеры могут предоставлять оценку шума исходя из настроек фотосъемки.[0050] In step 203, a zero loop filter is applied to the obtained Laplace image. As shown in FIG. 4B. The result of this filtering is an image with highlighted borders of one pixel thickness. In this case, false boundaries may appear, the occurrence of which is usually associated with the noisiness of the original image. To reduce the number of false boundaries, a certain threshold value is set for the zero loop filter. The threshold sets the minimum value of the difference in brightness between neighboring or nearby pixels in the Laplace image, at which the zero-point intersection point is considered to be the boundary. The threshold can be calculated based on the parameters of the applied smoothing and noisiness of the original image, for example, based on the value of the noise variance. Thus, the threshold value can be selected. In some cases, noise information may be known in advance, for example, some cameras may provide noise estimates based on photo settings.
[0051] На шаге 204, для каждой точки границ анализируемого кадра (как показано на Фиг. 4Б) рассчитывается направление градиента в соответствующих им точках на изображении Лапласа (проиллюстрированного на Фиг. 4А) и строится профиль второй производной вдоль направления градиента.[0051] In step 204, for each boundary point of the analyzed frame (as shown in Fig. 4B), the gradient direction is calculated at their corresponding points in the Laplace image (illustrated in Fig. 4A) and the profile of the second derivative is constructed along the gradient direction.
[0052] Далее для полученных профилей вторых производных рассчитываются локальные экстремумы (например, точки 502 и 503 на Фиг. 5А), собирается информация об абсолютных значениях экстремумов и их расстояниях до соответствующей точки пересечения нулевого уровня («смещение экстремума»). Например, Фиг. 5А иллюстрирует абсолютное значение 504 экстремума 502 и соответствующее ему смещение 505 от точки пересечения нулевого контура 501. Могут быть дополнительно посчитаны другие параметры профиля. На шаге 205 на Фиг. 2, вышеуказанная информация собирается независимо для максимальных и минимальных значений экстремумов, и отдельно для различных направлений градиента.[0052] Next, local extrema are calculated for the obtained profiles of the second derivatives (for example, points 502 and 503 in Fig. 5A), information is collected on the absolute values of the extrema and their distances to the corresponding zero-point intersection ("extremum shift"). For example, FIG. 5A illustrates the absolute value 504 of the extremum 502 and its corresponding offset 505 from the intersection of the zero loop 501. Other profile parameters can be further calculated. At step 205 in FIG. 2, the above information is collected independently for the maximum and minimum values of the extrema, and separately for different directions of the gradient.
[0053] В одной из реализаций, для упрощения сбора статистики (например, на шаге 205 на Фиг. 2) и последующего анализа результатов (на шаге 206 на Фиг. 2), перед построением профиля направление градиента можно квантовать, например, на угол в 45 градусов (Фиг. 5Б). Таким образом, статистика собирается отдельно для каждого из восьми выделенных направлений.[0053] In one implementation, to simplify the collection of statistics (for example, at step 205 in Fig. 2) and subsequent analysis of the results (at step 206 in Fig. 2), before constructing the profile, the gradient direction can be quantized, for example, by an angle of 45 degrees (Fig. 5B). Thus, statistics are collected separately for each of the eight identified areas.
[0054] Дополнительно, для каждого экстремума можно также рассчитывать степень его надежности, чтобы исключить ошибочно определенные экстремумы из подсчета статистики. Можно считать, что локальный экстремум является ненадежным, если нельзя достоверно установить его положение. Например, такая ситуация возможна, когда экстремум сильно растянут или в его окрестности находятся два или более локальных всплеска. Большая доля ненадежных экстремумов может служить признаком сильных искажений в кадре. Например, на Фиг. 5А, экстремум 503 может считаться ненадежным.[0054] Additionally, for each extremum, one can also calculate the degree of its reliability in order to exclude erroneously determined extrema from the statistics. We can assume that the local extremum is unreliable if it is not possible to reliably establish its position. For example, such a situation is possible when the extremum is greatly extended or in its vicinity there are two or more local bursts. A large proportion of unreliable extremes can be a sign of strong distortion in the frame. For example, in FIG. 5A, extreme 503 may be considered unreliable.
[0055] Все изображение может быть разбито на неперекрывающиеся области любой формы. Сбор статистики происходит в пределах каждой области. Разбиение на области применяется, чтобы учесть возможные различия в направлении смаза в разных областях кадра. Например, направление смаза может различаться из-за дрожания камеры в момент съемки, или при фотографировании близких объектов. В фокусе могут оказаться не все объекты, и часть кадра может быть расфокусирована. Также в качестве областей могут быть выбраны связные компоненты границ (каждая связная компонента представляет собой отдельный объект или его часть). Таким образом, наличие смаза и расфокусировки может быть проверено отдельно для каждого объекта в кадре, что позволяет использовать детектор, например, для обнаружения движущихся объектов на статичном фоне.[0055] The entire image can be divided into non-overlapping areas of any shape. Statistics are collected within each area. Area splitting is used to take into account possible differences in the direction of the smear in different areas of the frame. For example, the direction of the grease may vary due to camera shake at the time of shooting, or when photographing close objects. Not all objects may be in focus, and part of the frame may be out of focus. Also, the connected components of the boundaries can be selected as regions (each connected component is a separate object or its part). Thus, the presence of grease and defocus can be checked separately for each object in the frame, which allows the use of a detector, for example, to detect moving objects against a static background.
[0056] Разбиение кадра на непересекающиеся области также может служить одним из инструментов, предназначенных для передачи визуального сигнала пользователю о наличие дефекта на кадре, по крайней мере, в одной из областей на экране видоискателя. Например, области кадра на экране видоискателя, содержащие один из видов дефекта, могут быть закрашены определенным цветом. Интенсивность окраски области может соответствовать степени искажения на кадре.[0056] Dividing a frame into disjoint areas can also serve as one of the tools for transmitting a visual signal to the user about the presence of a defect in the frame in at least one of the areas on the viewfinder screen. For example, areas of the frame on the viewfinder screen that contain one type of defect can be filled with a certain color. The color intensity of the area may correspond to the degree of distortion in the frame.
[0057] Сетка непересекающихся областей может быть представлена в различных видах и формах. Например, сетка неперекрывающихся областей может быть представлена в виде квадратных областей (Фиг. 9А) или прямоугольных областей (Фиг. 9Б, 9В). Можно использовать тип сетки и с иной формой ячеек, например, в виде ромбов, параллелограммов и т.д. Форма области не ограничен четырехугольником. Область может быть представлена в виде любой возможной плоской геометрической фигуры. В одном из вариантов реализации области могу быть представлены в виде шестиугольников, и сетка имеет форму ячеек сот. Пример сетки в форме пчелиных сот показан на Фиг. 10. Кроме того, геометрические формы могут быть повернуты на некоторый угол, например на 30, 45, 60 или 90 градусов (Фиг. 9Б). Сетка может включать фигуры различной формы; например, она может состоять из квадратов и прямоугольников, и т.п. Основным назначением областей является разделение кадра на несколько частей способом, подходящим для применения в определенном электронном устройстве, для выявления определенных дефектов или для определенного пользователя. Кроме того, тип сетки может быть выбран пользователем при настройке или быть заданным по умолчанию. Сетка может быть частично прозрачной. Значение прозрачности может быть выбрано в настройках. Оно может изменяться от показателя абсолютной прозрачности до абсолютной непрозрачности.[0057] A grid of disjoint regions can be presented in various forms and forms. For example, a grid of non-overlapping areas can be represented as square areas (Fig. 9A) or rectangular areas (Fig. 9B, 9B). You can use the type of grid with a different shape of cells, for example, in the form of rhombs, parallelograms, etc. The shape of the region is not limited to a quadrangle. The area can be represented as any possible flat geometric shape. In one embodiment, the regions can be represented in the form of hexagons, and the grid has the shape of honeycomb cells. An example of a honeycomb mesh is shown in FIG. 10. In addition, geometric shapes can be rotated by a certain angle, for example, 30, 45, 60 or 90 degrees (Fig. 9B). The grid may include shapes of various shapes; for example, it may consist of squares and rectangles, etc. The main purpose of the areas is to divide the frame into several parts in a manner suitable for use in a specific electronic device, to detect specific defects or for a specific user. In addition, the type of grid can be selected by the user during configuration or be set by default. The mesh may be partially transparent. The transparency value can be selected in the settings. It can vary from absolute transparency to absolute opacity.
[0058] Как уже упоминалось выше, сетка очень удобна для демонстрации или визуального представления обнаруженных дефектов пользователю. Например, сетка может быть использована для обозначения той части экрана, которая содержит один или несколько типов дефектов. Также сетка позволяет показать и тип обнаруженного дефекта (смаз, расфокусировка, шум и пр.). Чтобы различать тип обнаруженного дефекта, каждому дефекту для наглядности может быть назначен в соответствие один или несколько типов сигнала. Один из возможных сигналов - использование различных цветов для обозначения различных дефектов. В этом примере тип дефекта в конкретной области определяет цвет, используемый для окрашивания этой области. Например, если кадр содержит дефекты лишь одного типа, области могут быть закрашены одним цветом (например, черным, как показано на Фиг. 11А). На Фиг. 11А области с дефектами 1101 закрашены черным цветом. Кроме того, интенсивность окраски области может зависеть от степени искажения (Фиг. 11Б). Например, яркий цвет 1102 используется для явно выраженных дефектов, например, нечитаемого текста, который в дальнейшем будет невозможно распознать. Частично прозрачный цвет 1103 можно применять для отметки слабо выраженных дефектов (искажений).[0058] As already mentioned above, the grid is very convenient for demonstrating or visualizing the detected defects to the user. For example, a grid can be used to indicate that part of the screen that contains one or more types of defects. Also, the grid allows you to show the type of defect detected (blur, defocus, noise, etc.). In order to distinguish between the type of detected defect, one or more signal types can be assigned to each defect for clarity. One possible signal is the use of different colors to indicate various defects. In this example, the type of defect in a particular area determines the color used to color the area. For example, if a frame contains defects of only one type, the areas can be shaded with the same color (for example, black, as shown in Fig. 11A). In FIG. 11A, defective areas 1101 are blacked out. In addition, the color intensity of the area may depend on the degree of distortion (Fig. 11B). For example, the bright color 1102 is used for pronounced defects, for example, unreadable text, which in the future will be impossible to recognize. Partially transparent color 1103 can be used to mark mild defects (distortions).
[0059] В других вариантах реализации, области могут быть закрашены с применением различных цветов для визуализации типа дефекта, как показано на Фиг. 11В. В одном варианте реализации закрашивание области черным цветом 1104 показывает, что область содержит некий конкретный тип дефекта, например, смаз. Для идентификации других типов дефектов могут быть использованы другие цвета. К примеру, закрашенная белым цветом область 1105 содержит дефект другого типа, например, расфокусированный текст. Части кадра, содержащие изображение высокого качества, также могут быть выделены цветом. Например, зеленым цветом может быть выделена область, в котором никаких дефектов не обнаружено. При использовании различных цветов для маркировки различных типов дефектов можно варьировать цвета по интенсивности, так чтобы интенсивность отражала степень искажения.[0059] In other embodiments, regions may be shaded using various colors to visualize the type of defect, as shown in FIG. 11B. In one embodiment, the shading of the area with black 1104 indicates that the area contains some specific type of defect, for example, smear. Other colors may be used to identify other types of defects. For example, the white-painted area 1105 contains another type of defect, for example, defocused text. Parts of the frame containing a high quality image can also be highlighted. For example, an area in which no defects were detected can be highlighted in green. When using different colors to mark different types of defects, the colors can be varied in intensity so that the intensity reflects the degree of distortion.
[0060] Статистика о параметрах профилей второй производной собирается отдельно для каждой области (шаг 205) и затем анализируется (шаг 206). Могут быть использованы следующие признаки: среднее значение, дисперсия, коэффициент асимметрии, и другие параметры, посчитанные для каждого из параметров профиля второй производной (например, абсолютные величины локальных максимумов, минимумов, смещений максимумов и минимумов, и т.д.). Также признаками могут служить количество выявленных пиков, процентное соотношение «ненадежных» пиков (для которых не удалось достоверно определить положение максимума или минимума), корреляции между «длиной» и высотой пиков.[0060] Statistics on the profile parameters of the second derivative are collected separately for each area (step 205) and then analyzed (step 206). The following attributes can be used: average value, variance, asymmetry coefficient, and other parameters calculated for each of the profile parameters of the second derivative (for example, absolute values of local maxima, minima, displacements of maxima and minima, etc.). Also, signs can be the number of peaks detected, the percentage of “unreliable” peaks (for which it was not possible to reliably determine the position of the maximum or minimum), the correlation between the “length” and height of the peaks.
[0061] Так как информация для статистики может быть собрана отдельно для каждого выделенного направления градиента, то и признаки (среднее значение, дисперсия и т.д.) могут быть вычислены для каждого направления отдельно. Таким образом, в случае восьми выделенных направлений (углы кратные 45 градусам), каждый признак можно представить в виде восьми векторов (например, как проиллюстрировано на Фиг. 5Б), в которых длина вектора соответствует величине признака вдоль этого направления.[0061] Since information for statistics can be collected separately for each highlighted direction of the gradient, features (average value, variance, etc.) can be calculated for each direction separately. Thus, in the case of eight distinguished directions (angles that are multiples of 45 degrees), each feature can be represented as eight vectors (for example, as illustrated in Fig. 5B), in which the length of the vector corresponds to the size of the feature along this direction.
[0062] В одном из вариантов реализации в рамках шага 206, полученные признаки могут быть переданы любому обученному классификатору, который на основе этих признаков сможет определить тип искажения и его параметры (207). Например, среднее расстояние от точки пересечения нулевого уровня до пиков (среднее значение смещения экстремума от точки пересечения нулевого контура) на второй производной дают оценку степени смаза границ. Чем больше расстояние, тем больше смаз. Кроме того, классификатор может быть обучен на основе результатов последующего распознавания (OCR (оптического распознавания символов)/IСR (интеллектуального распознавания символов)) анализируемого кадра. Например, классификатор может изменить полученные параметры для обнаружения смаза или расфокусировки на основе количества неверно распознанных символов.[0062] In one embodiment, as part of step 206, the obtained characteristics can be transferred to any trained classifier, which based on these signs can determine the type of distortion and its parameters (207). For example, the average distance from the zero point intersection point to the peaks (the average value of the extremum offset from the zero point intersection point) on the second derivative gives an estimate of the degree of blur of the boundaries. The greater the distance, the more lubrication. In addition, the classifier can be trained based on the results of subsequent recognition (OCR (optical character recognition) / ICR (intelligent character recognition)) of the analyzed frame. For example, the classifier can change the received parameters to detect smear or defocus based on the number of incorrectly recognized characters.
[0063] В другом способе реализации, в рамках шага 206, набор векторов можно описать набором характеристик инвариантных к сдвигу и поворотам, например средней длиной вектора, вытянутостью векторов в каком-либо направлении, и т.д.. В качестве таких характеристик можно использовать различные моменты (например, центральные моменты, множество инвариантных моментов Ху, их комбинации, и т.д.). Посчитанные признаки впоследствии передаются любому предварительно обученному классификатору для дальнейшего анализа. Такая реализация позволяет существенно уменьшить размерность пространства признаков для классификатора и сделать признаки более устойчивыми к недостатку статистических данных в одном или более выделенных направлений, например, в случае, когда по какому-то направлению градиента отсутствует достаточное количество границ.[0063] In another implementation method, as part of step 206, a set of vectors can be described by a set of characteristics invariant to shear and rotation, for example, the average length of the vector, the elongation of the vectors in any direction, and so on. As such characteristics, you can use various moments (for example, central moments, many invariant moments of Hu, their combinations, etc.). The calculated characteristics are subsequently transferred to any previously trained classifier for further analysis. Such an implementation allows one to significantly reduce the dimension of the feature space for the classifier and make the features more resistant to the lack of statistical data in one or more of the selected directions, for example, in the case when there are not enough borders on some direction of the gradient.
[0064] Например, набор векторов для каждого признака можно рассматривать как конструкцию из материальных точек с некоторыми весами на концах векторов. Для такой конструкции может быть вычислен тензор инерции (например, 510), который представляет собой комбинацию центральных моментов второго порядка. Веса могут быть выбраны, например, на основе пропорциональности количеству надежных пиков в направлении вектора, или исходя из любых других соображений. Далее рассчитываются характеристики тензора инерции (такие как эксцентриситет и след матрицы тензора), которые впоследствии анализируются классификатором.[0064] For example, a set of vectors for each feature can be considered as a construction of material points with some weights at the ends of the vectors. For such a construction, an inertia tensor can be calculated (for example, 510), which is a combination of second-order central moments. Weights can be selected, for example, on the basis of proportionality to the number of reliable peaks in the direction of the vector, or on the basis of any other considerations. Next, the characteristics of the inertia tensor (such as the eccentricity and the trace of the tensor matrix) are calculated, which are subsequently analyzed by the classifier.
[0065] По признакам тензора инерции можно определить признаки искажений. Так на основе эксцентриситета можно понять, какой дефект присутствует в кадре - смаз или расфокусировка. Для расфокусировки характерны значения эксцентриситета близкие к нулю. След тензора инерции дает представление о степени смаза или расфокусировки. Направление смаза совпадает с собственным вектором тензора инерции с наибольшим собственным значением.[0065] By the signs of the inertia tensor, signs of distortion can be determined. So, on the basis of eccentricity, you can understand what kind of defect is present in the frame - blur or defocus. For defocusing, eccentricity values close to zero are characteristic. The trace of the inertia tensor gives an idea of the degree of smear or defocus. The direction of the lubricant coincides with the eigenvector of the inertia tensor with the largest eigenvalue.
[0066] Иногда характеристики изображения могут быть выявлены на осноке использования дополнительных данных, кроме собственных значений тензора инерции. Например, множество инвариантных моментов Ху можно использовать в дополнение к множеству собственных значений тензора инерции. Как один из примеров, инварианты множества Ху могут быть рассчитаны по следующим формулам:[0066] Sometimes image characteristics can be identified based on the use of additional data, in addition to the eigenvalues of the inertia tensor. For example, the set of invariant moments Hu can be used in addition to the set of eigenvalues of the inertia tensor. As one example, the invariants of the set Xy can be calculated by the following formulas:
Figure 00000002
Figure 00000002
Figure 00000003
Figure 00000003
где μij - это центральные моменты. Опционально в вышеописанных формулах вместо центральных моментов могут быть включены соответствующие их нормированные величины. Нормировка может быть вычислена по следующей формуле:where μ ij are the central moments. Optionally, in the above formulas, instead of the central moments, their corresponding normalized values can be included. Normalization can be calculated using the following formula:
Figure 00000004
Figure 00000004
[0067] Отдельную задачу представляет собой обнаружение объектов с малой шириной, например, тонких линий, особенно в случаях малой площади этих объектов и при наличии шума. Описываемый детектор позволяет настраивать (менять) параметры фильтра для получения изображение Лапласа. Поэтому параметры фильтра возможно подобрать таким образом, чтобы границы объектов с малой шириной были более устойчивы к шуму и их было легче обнаружить.[0067] A separate task is the detection of objects with a small width, for example, thin lines, especially in cases of small area of these objects and in the presence of noise. The described detector allows you to configure (change) the filter parameters to obtain a Laplace image. Therefore, the filter parameters can be selected so that the boundaries of objects with a small width are more resistant to noise and easier to detect.
[0068] На шаге 208 происходит установление степени искажений в кадре. Одним из результатов работы детекторов, может быть, например, вывод на экран визуального представления (визуализации) дефектных областей в кадре. На Фиг. 11А-11В показаны примеры возможных визуальных представлений (визуализаций). Также результатом работы детекторов может быть вывод на экран сообщений о степени искажения или непригодности кадра для дальнейшей его обработки. Если на изображении обнаружены сильные дефекты, сообщение может содержать для пользователя совет изменить условия съемки. Например, если обнаружен тот или иной дефект в кадре, в видоискателе выделяется цветом именно та область (текст), в которой этот дефект присутствует. Определенный цвет области может указывать пользователю о типе обнаруженного в данной области дефекта. Так, например желтый цвет может быть условным сигналом того, что в данной области обнаружен смаз; в то время как красный цвет может сигнализировать о расфокусировке, и т.д. Интенсивность закрашивания области может свидетельствовать о степени искажения.[0068] In step 208, the degree of distortion in the frame is established. One of the results of the detectors, for example, may be the display on the screen of a visual representation (visualization) of defective areas in the frame. In FIG. 11A-11B show examples of possible visual representations (visualizations). Also, the result of the operation of the detectors may be the display of messages on the degree of distortion or unsuitability of the frame for further processing. If severe defects are found in the image, the message may contain a tip for the user to change the shooting conditions. For example, if one or another defect is detected in the frame, the exact area (text) in which this defect is present is highlighted in the viewfinder. The specific color of the area may indicate to the user the type of defect found in the area. So, for example, yellow can be a conditional signal that a smear has been detected in this area; while red may indicate a defocus, etc. The intensity of the shading area may indicate the degree of distortion.
[0069] 0069 Помимо этого в зависимости от типа дефекта система может выдавать пользователю рекомендации по улучшению условий съемки. Например, если на кадре обнаружен блик, то пользователю может быть выдано сообщение с советом изменить условия освещения таким образом, чтобы избежать блика. Если текст размыт -пользователь может получить совет стабилизировать устройство перед моментом съемки. Если дефектов в кадре не обраружено, или дефекты оказались незначительными (например, ниже заранее заданного порогового значения), то электронное устройство может сделать снимок автоматически. Также пользователь может осуществить съемку вручную.[0069] 0069 In addition, depending on the type of defect, the system may give the user recommendations for improving the shooting conditions. For example, if a glare is detected on a frame, a message may be issued to the user with a tip to change the lighting conditions in such a way as to avoid glare. If the text is blurry, the user may be advised to stabilize the device before shooting. If there are no defects in the frame, or if the defects turned out to be insignificant (for example, below a predetermined threshold value), the electronic device can take a picture automatically. The user can also shoot manually.
[0070] Предложенный способ является хорошо устойчивым к шуму, что обеспечивает высокую надежность детектора. В случае высокой зашумленности кадра или при анализе кадров с малоконтрастными границами может быть выполнен дополнительный анализ посчитанных статистик для области. Также, дополнительный анализ может выявить сложный дефект, например, вызванный сложным движением камеры.[0070] The proposed method is well resistant to noise, which provides high reliability of the detector. In the case of a high noise level in the frame or in the analysis of frames with low-contrast boundaries, an additional analysis of the calculated statistics for the region can be performed. Also, additional analysis may reveal a complex defect, for example, caused by a complex camera movement.
[0071] Данный анализ может быть проведен как на исходном кадре, так и на его уменьшенных копиях. В таком случае, при уменьшении может быть использовано сглаживание. Сглаживание можно делать как на предварительном этапе, так и совместно с уменьшением. Сглаживание может уменьшить уровень шума, а уменьшение позволяет улучшить работу алгоритма.[0071] This analysis can be carried out both on the original frame and on its reduced copies. In such a case, smoothing can be used to decrease. Smoothing can be done both at the preliminary stage, and together with reduction. Smoothing can reduce noise, and decreasing can improve the performance of the algorithm.
[0072] Обнаружение шума[0072] Noise Detection
[0073] Различные способы реализации могут обнаружить шум в кадре. Обнаружение шума может происходить как на всем кадре в целом, так и в одной или нескольких его областях. В качестве измерителя шума в областях кадра могут служить различные статистические показатели, например, среднее значение и дисперсия яркости в конкретной области. Чем больше область анализируется, тем более точен и надежен найденный показатель. На основе результатов измерения шума внутри каждой из областей кадра, можно сделать заключение, какая именно область содержит большее количество шума. Характеристики шума могут зависеть от показателей оптической системы конкретного электронного устройства, поэтому показатель шума может быть либо отрегулирован, либо указан в настройках устройства.[0073] Various implementation methods may detect noise in a frame. Noise detection can occur both on the whole frame as a whole, and in one or more of its areas. As a noise meter in the areas of the frame, various statistical indicators can serve, for example, the average value and the variance of brightness in a specific area. The more the region is analyzed, the more accurate and reliable the indicator found. Based on the results of noise measurement inside each of the areas of the frame, we can conclude which region contains the most noise. Noise characteristics may depend on the optical system performance of a particular electronic device, so the noise figure can either be adjusted or specified in the device settings.
[0074] Определение шума в кадре связано с показателем полезного сигнала в кадре. Так, например, большие буквы с большим содержанием шума могут быть читабельными и распознаваемыми, в то время как маленькие буквы при том же содержании шума могут быть нераспознаваемы. В результате обнаружения шума в кадре в целях его дальнейшего распознавания (OCR - оптического распознавания символов) может быть основано на расчете соотношения «сигнал/шум». Данный показатель демонстрирует, каково отношение полезного сигнала в кадре (или области кадра) к уровню шума. Чем выше это соотношение, тем меньше шума в кадре. Результатом работы данного детектора может быть вывод сообщения для пользователя с информацией о количестве шума в анализируемом кадре, если соотношеие сигнал/шум ниже установленного уровня. Также возможен вывод сообщения с советом изменить условия съемки, чтобы уменьшить содержание шума, мешающего дальнейшей обработке кадра.[0074] The determination of noise in a frame is related to a measure of the useful signal in the frame. For example, large letters with a high noise content can be readable and recognizable, while small letters with the same noise content can be unrecognizable. As a result of the detection of noise in the frame with a view to its further recognition (OCR - optical character recognition) it can be based on the calculation of the signal-to-noise ratio. This indicator demonstrates the ratio of the useful signal in the frame (or frame area) to the noise level. The higher this ratio, the less noise in the frame. The result of this detector may be a message for the user with information about the amount of noise in the analyzed frame, if the signal-to-noise ratio is lower than the set level. It is also possible to display a message with the advice to change the shooting conditions in order to reduce the noise content that interferes with further processing of the frame.
[0075] Обнаружение бликов[0075] Flare Detection
[0076] Примером кадра на экране видоискателя с наличием блика (601) является иллюстрация на Фиг. 6А. Фиг. 6Б иллюстрирует пример кадра, проиллюстрированного на Фиг. 1А, после бинаризации. Фиг. 6Б содержит область 602 с бликом 601, непригодную для дальнейшей обработки.[0076] An example of a frame on a viewfinder with a glare (601) is the illustration in FIG. 6A. FIG. 6B illustrates an example of the frame illustrated in FIG. 1A, after binarization. FIG. 6B contains an area 602 with a glare 601 unsuitable for further processing.
[0077] На. Фиг. 3 проиллюстрированы шаги для обнаружения блика на изображении в соответствии с одной из реализаций настоящего описания. На шаге 3006 анализируемый кадр может быть уменьшен в размере (сжат). Уменьшение кадра в размере может существенно снизить время, необходимое для выполнения вычислительных операций, что может быть важно при выполнении анализа кадра в режиме реального времени. Сжатие кадра может быть выполнено, например, с помощью последовательного применения маски вида
Figure 00000005
вдоль вертикали и вдоль горизонтали, или же посредством сглаживания и последующей интерполяции на меньшую сетку. Примерами маски могут служить
Figure 00000006
или
Figure 00000007
. Сглаживание кадра может снизить количество шума в кадре.
[0077] On. FIG. 3 illustrates steps for detecting a glare in an image in accordance with one implementation of the present description. In step 3006, the analyzed frame can be reduced in size (compressed). Reducing the frame in size can significantly reduce the time required to perform computational operations, which may be important when performing frame analysis in real time. Frame compression can be performed, for example, by sequentially applying a view mask
Figure 00000005
along the vertical and along the horizontal, or through smoothing and subsequent interpolation to a smaller grid. Examples of masks are
Figure 00000006
or
Figure 00000007
. Frame smoothing can reduce the amount of noise in the frame.
[0078] Далее на шаге 301 кадр может быть бинаризован при некотором подобранном субоптимальном пороговом значении. Для конвертации анализируемого кадра в бинаризованный кадр может быть применена инвертированная пороговая бинаризация. Для этого может быть установлено некое субоптимальное пороговое значение бинаризации th. Например, значения пикселей, которые больше или равны th принимают значение 1, а пиксели, значения которых меньше чем th, принимают значение 0. Полученное таким образом изображение является бинаризованным, т.е. каждый пиксель в кадре принимает одно из двух значений (0 или 1). Другие техники бинаризации могут быть также применены. Примеры кадров после применения инвертированной пороговой бинаризации проиллюстрированы на Фиг. 7А и Фиг. 7Б.[0078] Next, in step 301, the frame can be binarized at some selected suboptimal threshold value. To convert the analyzed frame into a binarized frame, inverted threshold binarization can be applied. For this, a certain suboptimal threshold value of binarization th can be established. For example, values of pixels that are greater than or equal to th take a value of 1, and pixels whose values are less than th take a value of 0. The image thus obtained is binarized, i.e. each pixel in the frame takes one of two values (0 or 1). Other binarization techniques may also be applied. Examples of frames after applying inverted threshold binarization are illustrated in FIG. 7A and FIG. 7B.
[0079] Предполагается, что сцена в видоискателе и условия съемки от кадра к кадру меняются незначительно. Соответственно, в некоторых способах реализации выбор субоптимального порогового значения бинаризации для текущей серии кадров может быть основан на предварительно проанализированных кадрах.[0079] It is assumed that the scene in the viewfinder and the shooting conditions from frame to frame vary slightly. Accordingly, in some implementation methods, the selection of a suboptimal binarization threshold value for the current series of frames may be based on previously analyzed frames.
[0080] При недостаточном сглаживании искомая односвязная область, которая может быть или «засветом» (другими словами «светлым пятном над текстом») или бликом. Термин «засвет», или другими словами засвеченная область, обозначает область, в которой присутствует лишь граница перепада освещения, в то время как текст в этой области является читабельным и распознаваемым. Если же область содержит искаженный сигнал, который не подлежит дальнейшей обработке, то такая область в контексте описания представленного изобретения будет называться бликом. Пример блика показан на Фиг. 6А и Фиг. 6Б.[0080] In case of insufficient smoothing, the desired simply connected region, which can be either a “flash” (in other words, a “bright spot over the text”) or a glare. The term “highlight”, or in other words, a highlighted area, denotes an area in which there is only the boundary of the difference in lighting, while the text in this area is readable and recognizable. If the region contains a distorted signal that cannot be further processed, then this region in the context of the description of the presented invention will be called flare. An example of a flare is shown in FIG. 6A and FIG. 6B.
[0081] Неоднородность может проявляться в появлении небольших бликов на бумаге ввиду ее неровности. Чтобы избежать проявления неоднородности, можно увеличить степень сглаживания. Альтернативным способом борьбы с этим эффектом может служить применение к бинаризованному изображению операции дилатации, или другого морфологического фильтра. Морфологический фильтр «дилатация» расширяет область кадра путем расширения пикселей в кадре. В результате чего происходит объединение областей в кадре, которые могли быть разделены некими помехами, шумами, оставшимися после сглаживания. Параметры дилатации (размер и форма) могут зависеть от предыдущих шагов описываемого способа обнаружения блика в кадре. Дилатация может быть выполнена, например, по квадрату 3×3.[0081] Inhomogeneity may occur in the appearance of small glare on the paper due to its unevenness. To avoid the manifestation of heterogeneity, you can increase the degree of smoothing. An alternative way to combat this effect is to apply a dilatation operation or other morphological filter to a binarized image. The dilatation morphological filter expands the frame area by expanding the pixels in the frame. As a result, there is a union of areas in the frame, which could be separated by some noise, noise left after smoothing. The dilatation parameters (size and shape) may depend on the previous steps of the described method for detecting flare in the frame. Dilation can be performed, for example, by a 3 × 3 square.
[0082] На шаге 302 происходит поиск односвязных областей (компонент) на бинаризованном изображении, полученном на шаге 301. Найденные связные компоненты могут быть отсортированы по их площади. Сортировка найденных связных областей может увеличить шанс обнаружения «засвета» без перебора всех найденных связанных компонент. Кроме того небольшие по площади связные компоненты могут быть исключены ради ускорения процедуры обнаружения бликов.[0082] In step 302, the search for simply connected regions (components) in the binarized image obtained in step 301 is performed. The found connected components can be sorted by their area. Sorting found cohesive areas can increase the chance of detecting a "glare" without going through all found related components. In addition, small-area connected components can be excluded in order to speed up the flare detection procedure.
[0083] Нна шаге 303 каждая связная компонента исследуется на предмет того, является ли покрываемая ей область «засветом» или нет. На данном этапе может быть применено каскадное отсечение связных компонент, заведомо не являющихся бликом. Этот шаг полезен для избежания ресурсозатратного этапа анализа данных областей. Так, например, можно не подвергать анализу те связные компоненты, которые не являются «достаточно плотными», то есть те компоненты, которые занимают малую часть площади в описываемой области. Таким образом, могут быть заранее исключены из последующего анализа межстрочные и межстолбцовые белые интервалы.[0083] At step 303, each cohesive component is examined to determine whether the area covered by it is a “flash” or not. At this stage, cascade cutoff of connected components that are obviously not flare can be applied. This step is useful to avoid the time-consuming step of analyzing these areas. So, for example, it is possible not to analyze those connected components that are not “sufficiently dense”, that is, those components that occupy a small part of the area in the described region. Thus, line-to-line and inter-column white intervals can be excluded from the subsequent analysis in advance.
[0084] В одном из вариантов реализации описываемого изобретения, полученные статистика может быть передана любому обученному классификатору, который на основе этих признаков может принять решение является ли связанная область засветом, ил нет. Например, могут быть использованы каскадные классификаторы. В качестве примера несколько классификаторов могут быть соединены в виде каскада, например, в виде дерева решений. На каждом этапе каскада может быть принято решение о том, содержит ли изображение этот объект. На первом уровне каскадный классификатор может использовать простейшие признаки. Вычисление данных признаков не требует больших ресурсов электронного устройства. Примеры возможных характеристик (статистик) включают в себя долю черных пикселей к периметру связной компоненты, среднюю яркость и т.д. На следующем этапе (при подозрении о том, что анализируемая область является бликом) могут быть вычислены дополнительные признаки (собрана дополнительная статистика). Например, дополнительная статистика может включать градиент яркости по периметру, который также может быть вычислен. Такая дополнительная статистика может использоваться на одном или нескольких уровнях каскадных классификаторов. Помимо этого классификатор может быть обучен на основе результатов распознавания изображения (кадра). Например, классификатор может изменить полученные параметры для обнаружения блика на основе количества неверно распознанных символов. На основе результатов распознавания один или более классификаторов могут быть обучены.[0084] In one embodiment of the described invention, the obtained statistics can be transmitted to any trained classifier, which based on these signs can decide whether the associated area is a light, or not. For example, cascading classifiers can be used. As an example, several classifiers can be connected in a cascade, for example, in the form of a decision tree. At each stage of the cascade, a decision can be made as to whether the image contains this object. At the first level, a cascading classifier can use the simplest signs. The calculation of these features does not require large resources of the electronic device. Examples of possible characteristics (statistics) include the proportion of black pixels to the perimeter of a connected component, average brightness, etc. At the next stage (if it is suspected that the analyzed area is a glare), additional signs can be calculated (additional statistics are collected). For example, additional statistics may include a perimeter brightness gradient, which can also be calculated. Such additional statistics can be used at one or more levels of cascading classifiers. In addition, the classifier can be trained based on the results of image (frame) recognition. For example, the classifier can change the received parameters for flare detection based on the number of incorrectly recognized characters. Based on the recognition results, one or more classifiers can be trained.
[0085] Кроме того, могут выполняться ресурсоемкие операции и могут вычисляться более сложные статистики. Например, способ проверки оставшихся односвязных областей на предмет того, являются ли они «засветами», производится следующим образом. Обнаруженная связная область аппроксимируется эллипсоидом инерции. Для этого может быть применена формула нахождения квадратичной формы эллипса.[0085] In addition, resource-intensive operations can be performed, and more complex statistics can be calculated. For example, a method of checking the remaining simply connected areas for whether they are "highlights" is as follows. The detected coherent region is approximated by an ellipsoid of inertia. For this, the quadratic form of the ellipse can be applied.
[0086] По границе бинаризованной связной области (или некой фигуры, аппроксимирующей область) собирается статистика направления и значения градиента яркости на основе исходного кадра. Если направление градиента яркости в односвязной области почти всюду такое, что градиент яркости направлен в сторону центра пятна (как показано на Фиг. 8), и его значение в среднем больше определенного порога, то область может быть признана «засветом». Также для проверки обнаруженной области собирается и анализируется статистика для некоторых свойств эллипса и его уменьшенного представления. Например, рассчитывается количество подтверждающих и отвергающих перепадов яркости на контуре вокруг пятна; собирается статистика для выборки на контуре эллипса скалярных произведений градиента яркости и единичного вектора от точки к центру; собирается статистика яркостей пикселей вдоль границы эллипсов. Анализ других дополнительных данных и сбор дополнительной статистики, собранной по эллипсу меньшего радиуса, помогает лучше классифицировать отсутствие или наличие «засвета».[0086] At the border of the binarized connected region (or some figure approximating the region), statistics are collected on the direction and value of the brightness gradient based on the original frame. If the direction of the brightness gradient in a simply connected region is almost everywhere such that the brightness gradient is directed toward the center of the spot (as shown in Fig. 8), and its value is on average greater than a certain threshold, then the region can be recognized as a “light”. Also, to check the detected area, statistics are collected and analyzed for some properties of the ellipse and its reduced representation. For example, the number of confirming and rejecting brightness drops on the contour around the spot is calculated; statistics are collected for sampling on the ellipse contour scalar products of the brightness gradient and a unit vector from point to center; statistics on the brightness of pixels along the border of ellipses are collected. The analysis of other additional data and the collection of additional statistics collected from an ellipse of a smaller radius helps to better classify the absence or presence of “glare”.
[0087] Если на шаге 303 область не признается засветом, подбирается следующее субоптимальное пороговое значение бинаризации. Снова бинаризованное изображение анализируется на предмет нахождения в нем «засвета». Процесс подбора оптимального порога бинаризации и обнаружения «засветов» при данном значении бинаризации является итерационным и повторяется до тех пор, пока не будут найдены «засветы» внутри кадра или же не будет принято решение, что «засветы» отсутствуют. Для расчета пороговых значений может быть использована следующая формула:[0087] If at step 303 the region is not recognized by the light, the next suboptimal binarization threshold value is selected. Again, the binarized image is analyzed for the presence of "light" in it. The process of selecting the optimal binarization threshold and detecting “gaps” at a given value of binarization is iterative and is repeated until “gaps” are found inside the frame or it is decided that there are no “gaps”. The following formula can be used to calculate threshold values:
Figure 00000008
Figure 00000008
где thi пороговое значение бинаризации на шаге i, thi-1 пороговое значение бинаризации на шаге (i-1), ki, - некий коэффициент.where th i the threshold value of binarization at step i, th i-1 the threshold value of binarization at step (i-1), k i , is a certain coefficient.
[0088] Предполагается, что сцена в видоискателе и условия съемки от кадра к кадру меняются незначительно, что позволяется подбирать оптимальный параметр бинаризации для текущей серии кадров на основе ранее проанализированных кадров. Таким образом, оптимальное значение порога бинаризации на некотором шаге i, при котором были обнаружены «засветы» на изображении, может быть запомнено и применено к следующему кадру в серии. Эта процедура помогает заметно сократить время анализа кадров в видеопоследовательности. Результаты применения различных пороговых значений бинаризации для обнаружения блика на исходном кадре проиллюстрированы на Фиг. 7А, 7Б. Причем Фиг. 7А иллюстрирует результат бинаризации изображения при меньшем субоптимальном пороговом значении, в результате чего односвязная область 701 имеет большую площадь по сравнению с областью 702, изображенной на Фиг. 7Б, где применялось более высокое субоптимальное пороговое значение бинаризации.[0088] It is assumed that the scene in the viewfinder and the shooting conditions from frame to frame vary slightly, which allows us to select the optimal binarization parameter for the current series of frames based on previously analyzed frames. Thus, the optimal value of the binarization threshold at some step i, at which “highlights” in the image were detected, can be stored and applied to the next frame in the series. This procedure helps to significantly reduce the analysis time of frames in a video sequence. The results of applying various binarization thresholds for flare detection in the original frame are illustrated in FIG. 7A, 7B. Moreover, FIG. 7A illustrates the result of image binarization at a lower suboptimal threshold value, as a result of which the simply connected region 701 has a larger area compared to the region 702 shown in FIG. 7B, where a higher suboptimal binarization threshold value was used.
[0089] Статистика о сигнале в засвеченной области может быть собрана отдельно на шаге 304. Для этого в блоках, содержащих засвеченную область, рассчитывается соотношение «сигнал/шум». Соотношение «сигнал/шум» также может быть вычислено для смежных областей, например, областей прилегающих к засвеченным областям. Далее полученные значения соотношения «сигнал/шум» в засвеченных областях и в прилегающих областях могут сравниваться на шаге 305. Если показатель «сигнал/шум» существенно ниже в блоках, которые попадают в подозреваемую на «засвет» область, то эта область признается дефектной, т.е. бликом. Это говорит о том, что информация в данной области содержит испорченный сигнал, который непригоден для дальнейшего распознавания. Показатель «сигнал/шум» также может применяться для обнаружения смаза и расфокусировки.[0089] Statistics on the signal in the illuminated region can be collected separately at step 304. For this, in the blocks containing the illuminated region, the signal-to-noise ratio is calculated. The signal-to-noise ratio can also be calculated for adjacent areas, for example, areas adjacent to illuminated areas. Further, the obtained signal-to-noise ratio values in the illuminated areas and in the adjacent areas can be compared at step 305. If the signal-to-noise ratio is significantly lower in blocks that fall into the area that is suspected of being "exposed", then this area is recognized as defective. those. glare. This suggests that the information in this area contains a corrupted signal, which is unsuitable for further recognition. The signal-to-noise ratio can also be used to detect grease and defocus.
[0090] Дополнительно, на этом шаге полученные признаки могут быть переданы любому обученному классификатору, который на основе этих признаков сможет определить в кадре наличие блика и его параметры. Классификатор может быть обучаем на основе действий пользователя, взаимодействующего с электронным устройством. К примеру, функции интерфейса, относящиеся к обучению, могут быть активизированы, и пользователю будет предоставлена возможность обучать классификатор, например, отметить вручную, исправить или изменить типы или области дефектов в кадре.[0090] Additionally, at this step, the obtained characteristics can be transferred to any trained classifier, which, based on these signs, can determine the presence of flare and its parameters in the frame. The classifier can be trained based on the actions of a user interacting with an electronic device. For example, the training-related interface functions can be activated, and the user will be given the opportunity to train the classifier, for example, manually mark, correct or change the types or areas of defects in the frame.
[0091] На Фиг. 12 показан пример кадра с бликом, область блика ограничена линией 1201. Линия, описывающая обнаруженный блик, может быть отображена на экране электронного устройства. Данная линия представляет собой визуальный сигнал для пользователя, обозначающий границу дефекта в кадре. Если, по мнению пользователя, границы блика иные, например они должны охватывать большую (или наоборот меньшую) площадь, система предоставляет пользователю возможность изменить границу дефекта вручную. (Фиг. 12). Также пользователь может стереть линию или отметить область как содержащую дефект, если автоматическое обнаружение дефектов оказалось некорректным. Внесение корректировок подобного типа позволяет обучать классификатор, тем самым существенно улучшать качество обнаружения дефектов (таких как обнаружение блика) в последующих кадрах. Для названных выше целей можно использовать один из известных алгоритмов обучения классификатора.[0091] In FIG. 12 shows an example of a flare frame, the flare region is limited by line 1201. A line describing the detected flare can be displayed on the screen of the electronic device. This line is a visual signal for the user, indicating the boundary of the defect in the frame. If, according to the user, the boundaries of the flare are different, for example, they should cover a larger (or vice versa, smaller) area, the system provides the user with the opportunity to manually change the defect border. (Fig. 12). The user can also erase the line or mark the area as containing a defect if the automatic detection of defects was incorrect. Making corrections of this type allows you to train the classifier, thereby significantly improving the quality of detection of defects (such as flare detection) in subsequent frames. For the above purposes, you can use one of the well-known classifier training algorithms.
[0092] Кроме того, в обучении классификатора можно использовать результаты последующего распознавания (OCR/ICR) анализируемого кадра. Например, в случае большого числа некорректно распознанных в ходе оптического распознавания (OCR) символов классификатор может изменить полученные параметры обнаружения бликов.[0092] In addition, the results of subsequent recognition (OCR / ICR) of the analyzed frame can be used in classifier training. For example, in the case of a large number of characters that were incorrectly recognized during optical recognition (OCR), the classifier can change the obtained flare detection parameters.
[0093] В частности, для каждой из областей кадра может быть собрана статистика по количеству неправильно или неуверенно распознанных символов. Например, данные изображения могут быть переданы на удаленное электронное устройство, выполняющее оптическое распознавание символов на данных изображения. В альтернативной реализации процедура оптического распознавания символов (OCR) может быть выполнена локально на данном электронном устройстве. С помощью процесса OCR можно получить данные, содержащие распознанные символы, и количество неправильно распознанных или нераспознанных символов. Если уровень неправильно распознанных или неуверенно распознанных символов превышает некоторое предварительно заданное пороговое значение для области кадра, то может быть установлено, что данная область кадра имеет дефект. Кроме того, эта информация может применяться для обучения классификатора, используемого для обнаружения дефектов. Например, гипотеза Но о наличии дефекта может быть сформулирована на основании того, что количество неуверенно распознанных символов, превышает некоторое заранее определенное пороговое значение. Пороговое значение h может быть определено пользователем или являться значением, по умолчанию заданным для конкретного электронного устройства. Если выдвинутая гипотеза Н0 подтверждается статистическими данными области, классификатор может быть обучен. Так, например, если детектор не обнаружил дефекта в области, результаты распознавания для которой содержат большое число неуверенно распознанных символов, это указывает на то, что классификатор нуждается в дополнительном обучении. Для названных выше целей можно использовать какой-либо из известных алгоритмов обучения.[0093] In particular, statistics on the number of incorrectly or uncertainly recognized symbols can be collected for each area of the frame. For example, image data may be transmitted to a remote electronic device that performs optical character recognition on image data. In an alternative implementation, an optical character recognition (OCR) procedure may be performed locally on the electronic device. Using the OCR process, you can obtain data containing recognized characters and the number of incorrectly recognized or unrecognized characters. If the level of incorrectly recognized or uncertainly recognized characters exceeds a certain predetermined threshold value for the frame area, then it can be determined that this frame area has a defect. In addition, this information can be used to train the classifier used to detect defects. For example, the hypothesis But about the presence of a defect can be formulated on the basis that the number of uncertainly recognized characters exceeds a certain predetermined threshold value. The threshold value h can be user defined or the default value for a specific electronic device. If the hypothesis put forward by Н0 is confirmed by the statistical data of the region, the classifier can be trained. So, for example, if the detector did not detect a defect in the area, the recognition results for which contain a large number of uncertainly recognized characters, this indicates that the classifier needs additional training. For the above goals, you can use any of the known learning algorithms.
[0094] Если степень искажения (306) кадра не превышает некий заранее заданный пользователем (или указанный по умолчанию в устройстве) порог, то может быть совершена съемка. В одном из способов реализации съемка может быть совершена электронным устройством автоматически. В альтернативном способе реализации съемка может быть совершена пользователем вручную.[0094] If the degree of distortion (306) of the frame does not exceed a certain threshold set by the user (or specified by default in the device), then shooting can be performed. In one of the implementation methods, shooting can be performed automatically by an electronic device. In an alternative implementation method, the survey may be performed manually by the user.
[0095] Если одна из областей содержит дефект, пользователю могут быть предложены варианты допустимых действий. Эти варианты могут быть представлены в виде рекомендаций, отображаемых через графический пользовательский интерфейс (GUI) электронного устройства в виде текстовых или звуковых сообщений. Эти сообщения могут включать в себя инструкции по изменению одного или нескольких условий съемки или параметров настройки, которые позволят получить изображение более высокого качества.[0095] If one of the areas contains a defect, the user may be offered options for valid actions. These options can be presented in the form of recommendations displayed through the graphical user interface (GUI) of the electronic device in the form of text or sound messages. These messages may include instructions for changing one or more shooting conditions or settings, which will allow you to get a higher quality image.
[0096] К числу возможных вариантов действий для устранения обнаруженного шума относятся:[0096] Possible options for eliminating detected noise include:
- применение алгоритма подавления шума; либо- application of noise reduction algorithm; or
- изменение условий освещения.- change in lighting conditions.
К числу возможных вариантов действий для устранения обнаруженного смаза или расфокусировки относятся:Possible options for resolving a detected grease or defocus include:
- применение определенного алгоритма для восстановления размытого или расфокусированного изображения. Один из таких способов описан в патентной заявке США под номером 13/305,768 от 29 ноября 2011 г., в оригинале озаглавленной "Detecting and Correcting Blur and Defocusing" («Обнаружение и устранение размытия и расфокусировки»), которая включена в данное описание посредством ссылки;- application of a specific algorithm to restore a blurry or defocused image. One such method is described in US Patent Application No. 13 / 305,768 of November 29, 2011, in the original entitled "Detecting and Correcting Blur and Defocusing", which is incorporated herein by reference ;
- изменение условий освещения; либо- change in lighting conditions; or
- применение одного из алгоритмов стабилизации устройства или алгоритма, позволяющего выполнить съемку в момент стабилизации устройства. Один из таких способов описан в патентной заявке США под номером 13/658,967 от 24 октября 2012 г., в оригинале озаглавленной "Capturing Images after Sufficient Stabilization of a Device" («Съемка изображений при стабилизации устройства»), которая включена в данное описание посредством ссылки;- the use of one of the device stabilization algorithms or an algorithm that allows you to shoot at the time of stabilization of the device. One such method is described in US Patent Application No. 13 / 658,967 of October 24, 2012, in the original entitled "Capturing Images after Sufficient Stabilization of a Device", which is incorporated herein by links;
[0097] К числу возможных вариантов действий для устранения обнаруженного блика относятся:[0097] Possible options for resolving the detected flare include:
- изменение угла положения объекта по отношению к камере и (или) источникам света; либо- a change in the angle of the position of the object with respect to the camera and (or) light sources; or
- изменение условий освещения чтобы избежать приглушенного света.- changing lighting conditions to avoid dim light.
[0098] Возможные варианты действий не ограничиваются приведенными выше рекомендациями. Пользователю могут быть предложены и другие сообщения или действия. Инструкции в отношении предлагаемого действия или рекомендации могут быть представлены в виде сообщений на экране электронного устройства. В тех случаях, когда в анализируемом кадре обнаружено несколько дефектов, система может объединить несколько инструкций или рекомендаций в отношении обнаруженных в кадре дефектов. Кроме того, для модификации данных изображения, содержащих дефект, могут быть использованы различные алгоритмы. Модифицированное таким образом изображение может быть отображено пользователю. Например, пользователю может быть предложено принять изменения, внесенные выбранным алгоритмом.[0098] The possible options are not limited to the above recommendations. Other messages or actions may be offered to the user. Instructions for the proposed action or recommendation may be presented in the form of messages on the screen of the electronic device. In cases where several defects are detected in the analyzed frame, the system can combine several instructions or recommendations regarding defects found in the frame. In addition, various algorithms may be used to modify image data containing a defect. The image thus modified can be displayed to the user. For example, the user may be prompted to accept the changes made by the selected algorithm.
[0099] В некоторых вариантах реализации предполагается обнаружение затемненных областей изображения. В некоторых вариантах реализации обнаружение затемненных областей может быть объединено с обнаружением засвеченных областей. Действия в случае обнаружения затемненной области аналогичны действиям в случае обнаружения засвеченной области. Основное различие состоит в применении алгоритма к инвертированному кадру. Это действие выполняется на этапе бинаризации. В частности, параметры бинаризации должны быть выбраны соответствующим образом.[0099] In some embodiments, it is contemplated to detect shaded areas of the image. In some embodiments, the detection of shaded areas can be combined with the detection of illuminated areas. Actions in the case of detecting a shaded area are similar to actions in the case of detecting a highlighted area. The main difference is the application of the algorithm to the inverted frame. This action is performed at the binarization stage. In particular, binarization parameters must be selected accordingly.
[00100] Обнаружение возможных дефектов в кадре (текущий вид) можно выполнять, применяя все описанные выше детекторы одновременно или последовательно. Это позволяет обнаруживать в кадре различные дефекты. Поскольку кадр может содержать несколько типов дефектов (например, одновременно быть размытым, содержать высокий уровень шума и бликов), результаты работы нескольких детекторов можно совместить. Например, для каждого отдельного дефекта может быть определен уровень дефекта с весовым коэффициентом. Таким образом, анализируемый кадр проверяется на наличие двух или более дефектов. На экране устройства дефекты для пользователя могут быть представлены в каком-либо графическом виде, как описано выше. В другом варианте реализации могут быть показаны результаты работы отдельных детекторов. В другом варианте реализации каждый детектор применяется отдельно. Такой подход удобно применять, например, в том случае, когда пользователь заинтересован в анализе кадра только на наличие одного вида дефектов, например, только бликов, шума, или размытия и т.д.[00100] The detection of possible defects in the frame (current view) can be performed using all the above detectors simultaneously or sequentially. This allows you to detect various defects in the frame. Since the frame may contain several types of defects (for example, be blurry at the same time, contain a high level of noise and glare), the results of several detectors can be combined. For example, for each individual defect, a defect level with a weight factor can be determined. Thus, the analyzed frame is checked for two or more defects. On the device screen defects for the user can be presented in any graphic form, as described above. In another embodiment, the results of individual detectors may be shown. In another embodiment, each detector is used separately. This approach is convenient to apply, for example, in the case when the user is interested in analyzing the frame only for the presence of one type of defect, for example, only glare, noise, or blur, etc.
[00101] Как было описано выше, изображение может быть снято, если уровень одного или нескольких искажений кадра ниже предварительно заданного порога. В другом варианте реализации, кадр может быть выбран из текущей видеопоследовательности с минимальным уровнем искажений или, по меньшей мере, с уровнем искажений, который не превышает некоторое определенное пороговое значение. Например, каждый кадр в видеопоследовательности может быть проанализирован на обнаружения одного или нескольких дефектов. Кадр, обладающий минимальным количеством дефектов, может быть временно сохранен в памяти устройства. Далее, последующие кадры в видеопоследовательности могут не только анализироваться на предмет дефектов в кадре на основе вышеописанных способов, но также сравниваться с уже сохраненным кадром. Таким образом, если в момент времени (t+1), проанализированный кадр имеет меньшее количество дефектов по сравнению с уже сохраненным кадром в памяти устройства из момента времени t, то кадр (t+1) может быть сохранен на место предыдущего кадра (t) в память устройства.[00101] As described above, an image can be captured if the level of one or more frame distortions is below a predetermined threshold. In another embodiment, the frame may be selected from the current video sequence with a minimum level of distortion, or at least a level of distortion that does not exceed a certain threshold value. For example, each frame in a video sequence can be analyzed to detect one or more defects. A frame with a minimum number of defects can be temporarily stored in the device memory. Further, subsequent frames in the video sequence can not only be analyzed for defects in the frame based on the methods described above, but also compared with an already saved frame. Thus, if at time point (t + 1), the analyzed frame has fewer defects as compared to the already saved frame in the device memory from time t, then frame (t + 1) can be saved in place of the previous frame (t) to the device’s memory.
[00102] В альтернативном варианте реализации, выбор и анализ кадра может быть выполнен не в режиме реального времени. Например, может быть записано видео, содержащее документы, причем это видео может быть проанализировано позднее. В качестве примера, один или более кадров, которые включают документы, могут быть извлечены из видео и проанализированы. Видео может быть сохранено в памяти (604) электронного устройства или получено из других внешних источников, например, из сети Интернет, из карт памяти или может быть загружено с других электронных устройств с помощью Bluetooth и т.д.[00102] In an alternative implementation, frame selection and analysis may not be performed in real time. For example, a video containing documents may be recorded, and this video may be analyzed later. As an example, one or more frames that include documents can be extracted from the video and analyzed. The video can be stored in the memory (604) of the electronic device or obtained from other external sources, for example, from the Internet, from memory cards or can be downloaded from other electronic devices via Bluetooth, etc.
[00103] На Фиг. 13 приведен возможный пример вычислительного средства 1300, которое может быть использовано для внедрения настоящего изобретения, осуществленного посредством электронного устройства 102 так, как было описано выше. Вычислительное средство 1300 обычно включает в себя, по крайней мере, один процессор 1302, соединенный с памятью 1304. Процессор 1302 может представлять собой один или более процессоров, может содержать одно, два или более вычислительных ядер или представлять собой чип или другое устройство, способное производить вычисления. Память 1304 может представлять собой оперативную память (ОЗУ), а также содержать любые другие типы и виды памяти, в частности, устройства энергонезависимой памяти (например, флэш-накопители) и постоянные запоминающие устройства, например, жесткие диски и т.д. Кроме того, может считаться, что память 1304 включает в себя аппаратные средства хранения информации, физически размещенные где-либо еще в составе вычислительного средства 1300, например, кэшпамять в процессоре 1302, память, используемую в качестве виртуальной и хранимую на внешнем либо внутреннем постоянном запоминающем устройстве 1310.[00103] In FIG. 13 is a possible example of computing means 1300 that can be used to implement the present invention implemented by electronic device 102 as described above. Computing means 1300 typically includes at least one processor 1302 connected to a memory 1304. The processor 1302 may be one or more processors, may contain one, two or more processing cores, or may be a chip or other device capable of producing calculations. The memory 1304 can be random access memory (RAM), and also contain any other types and types of memory, in particular, non-volatile memory devices (eg, flash drives) and read-only memory devices, such as hard drives, etc. In addition, it can be considered that the memory 1304 includes hardware for storing information physically located elsewhere in the computing means 1300, for example, cache memory in the processor 1302, memory used as virtual memory and stored on external or internal read-only memory device 1310.
[00104] Вычислительное средство 1300 также обычно имеет некоторое количество входов и выходов для передачи информации вовне и получения информации извне. Для взаимодействия с пользователем вычислительное средство 1300 может содержать одно или более устройств ввода 1306 (например, клавиатура, мышь, сканер и т.д.) и устройство отображения 1308 (например, жидкокристаллический дисплей или сигнальные индикаторы).[00104] Computing means 1300 also typically has a number of inputs and outputs for transmitting information to the outside and receiving information from the outside. To interact with a user, computing means 1300 may include one or more input devices 1306 (e.g., a keyboard, mouse, scanner, etc.) and a display device 1308 (e.g., a liquid crystal display or signal indicators).
[00105] Вычислительное средство 1300 также может иметь одно или более постоянных запоминающих устройств 1310, например, привод оптических дисков (CD, DVD или другой), жесткий диск, ленточный накопитель. Кроме того, вычислительное средство 1300 может иметь интерфейс с одной или более сетями 1312, обеспечивающими соединение с другими сетями и вычислительными устройствами. В частности, это может быть локальная сеть (LAN), беспроводная сеть Wi-Fi, соединенные со всемирной сетью Интернет или нет. Подразумевается, что вычислительное средство 1300 включает подходящие аналоговые и/или цифровые интерфейсы между процессором 1302 и каждым из компонентов 1304, 1306, 1308, 1310 и 1312.[00105] Computing means 1300 may also have one or more read-only memory devices 1310, for example, an optical disc drive (CD, DVD, or another), a hard disk, or a tape drive. In addition, computing means 1300 may have an interface with one or more networks 1312 that provide connectivity to other networks and computing devices. In particular, it can be a local area network (LAN), a wireless Wi-Fi network connected to the Internet or not. It is understood that computing means 1300 includes suitable analog and / or digital interfaces between processor 1302 and each of components 1304, 1306, 1308, 1310, and 1312.
[00106] Вычислительное средство 1300 работает под управлением операционной системы 1314 и выполняет различные приложения, компоненты, программы, объекты, модули и т.д., указанные обобщенно цифрой 1316.[00106] Computing means 1300 is running an operating system 1314 and executes various applications, components, programs, objects, modules, etc., indicated collectively by the number 1316.
[00107] Программы, исполняемые для реализации способов, соответствующих данному изобретению, могут являться частью операционной системы или представлять собой обособленное приложение, компоненту, программу, динамическую библиотеку, модуль, скрипт, либо их комбинацию.[00107] Programs executed to implement the methods of this invention may be part of the operating system or may be a stand-alone application, component, program, dynamic library, module, script, or a combination thereof.
[00108] В целом, процедуры, выполняемые в различных вариантах осуществления, могут быть реализованы как часть операционной системы или конкретного приложения, компонента программы, объекта, модуля или последовательности инструкций, далее называемых «компьютерными программами». Компьютерные программы, как правило, содержат одну или более инструкций, размещенных в различное время в различных запоминающих устройствах и системах хранения данных в компьютере, которые, будучи полученными и выполненными одним или более процессоров системы, инициируют выполнение компьютером операций, необходимых для выполнения элементов описанных вариантов осуществления. Следует указать, что различные варианты осуществления были описаны в контексте полностью функционирующих компьютеров и компьютерных систем. Специалистам в данной области техники будет понятно, что различные варианты могут распространяться в виде программного продукта в различных формах, при этом возможности и назначение всех таких вариантов будут одинаковы вне зависимости от применяемого конкретного типа машиночитаемых носителей, используемых для распространения программного продукта. Примерами машиночитаемых носителей являются съемные записываемые носители, такие как энергозависимые и энергонезависимые запоминающие устройства, дискеты и другие съемные диски, жесткие диски, оптические диски (например, постоянные запоминающие устройства на основе компакт-диска (CD-ROM), универсальные цифровые диски (DVD), флэш-память и т.д.) и другие. Программное обеспечение также может распространяться через Интернет.[00108] In general, the procedures performed in various embodiments may be implemented as part of an operating system or a specific application, program component, object, module, or sequence of instructions, hereinafter referred to as “computer programs”. Computer programs, as a rule, contain one or more instructions located at different times in various memory devices and data storage systems in the computer, which, when received and executed by one or more processors of the system, initiate the computer to perform operations necessary to perform the elements of the described options implementation. It should be noted that various embodiments have been described in the context of fully functioning computers and computer systems. Specialists in the art will understand that various options can be distributed in the form of a software product in various forms, while the capabilities and purpose of all such options will be the same regardless of the particular type of computer-readable media used to distribute the software product. Examples of computer-readable media are removable recordable media such as volatile and non-volatile storage devices, floppy disks and other removable disks, hard disks, optical disks (e.g., read-only media based on compact discs (CD-ROMs), universal digital discs (DVDs) , flash memory, etc.) and others. Software may also be distributed over the Internet.
[00109] Множество конкретных деталей в приведенном выше описании изложено исключительно для пояснения. Специалистам в данной области техники, очевидно, что эти конкретные детали являются лишь примерами. В других случаях структуры и устройства показаны только в виде блок-схемы во избежание неоднозначности толкований.[00109] Many specific details in the above description are set forth for illustrative purposes only. Those skilled in the art will appreciate that these specific details are merely examples. In other cases, structures and devices are shown only in block diagram form in order to avoid ambiguity in interpretation.
[00110] Приводимые в данном описании ссылки на «один вариант реализации» или «вариант реализации» означают, что конкретный признак, структура или характеристика, описанные для варианта реализации, являются компонентом, по меньшей мере, одного варианта реализации. Использование фразы «в одном варианте реализации» в различных фрагментах описания не означает, что описания относятся к одному и тому же варианту реализации либо что эти описания относятся к различным или альтернативным, взаимно исключающим вариантам реализации. Кроме того, различные описания характеристик могут относиться к некоторым вариантам реализации и не относиться к другим вариантам реализации. Различные описания требований могут относиться к некоторым вариантам реализации и не относиться к другим вариантам реализации.[00110] The references in this description to “one embodiment” or “embodiment” mean that a particular feature, structure, or characteristic described for an embodiment is a component of at least one embodiment. The use of the phrase “in one embodiment” in different fragments of the description does not mean that the descriptions refer to the same implementation variant or that these descriptions refer to different or alternative mutually exclusive variants of implementation. In addition, various descriptions of characteristics may relate to some implementation options and not to relate to other implementation options. Various descriptions of requirements may relate to some implementation options and may not relate to other implementation options.
[00111] Некоторые образцы вариантов реализации были описаны и показаны на прилагаемых иллюстрациях. Однако необходимо понимать, что такие варианты реализации являются просто примерами, но не ограничениями описываемых вариантов реализации, и что эти варианты реализации не ограничиваются конкретными показанными и описанными конструкциями и устройствами, поскольку специалисты в данной области техники на основе приведенных материалов могут создать собственные варианты реализации. В области технологии, к которой относится настоящее изобретение, быстрое развитие и дальнейшие достижения сложно прогнозировать, поэтому описываемые варианты реализации могут быть с легкостью изменены в устройстве и деталях благодаря развитию технологии, с соблюдением при этом принципов настоящего описываемого изобретения.[00111] Some examples of embodiments have been described and shown in the accompanying illustrations. However, it must be understood that such implementations are merely examples, but not limitations of the described implementations, and that these implementations are not limited to the specific structures and devices shown and described, as those skilled in the art can create their own implementations based on the above materials. In the field of technology to which the present invention relates, rapid development and further advances are difficult to predict, therefore the described embodiments can be easily changed in the device and details due to the development of technology, while respecting the principles of the present described invention.

Claims (70)

1. Способ обнаружения бликов в кадре, включающий:1. A method for detecting glare in a frame, including:
предварительную обработку кадра, включающего данные изображения;preprocessing a frame including image data;
определение набора связных компонент в предварительно обработанном кадре;determining a set of connected components in a pre-processed frame;
вычисление набора статистик для одной или более связных компонент из набора связных компонент;calculating a set of statistics for one or more connected components from a set of connected components;
принятие решения для одной или более связных компонент, на основе вычисленного набора статистик, о том, является ли данная связная компонента засветом, при этом указанное вычисление набора статистик включает сбор по меньшей мере одной статистики направлений и по меньшей мере одного значения градиента яркости по границе по меньшей мере одной связной бинаризованной области; иmaking a decision for one or more connected components, based on the computed set of statistics, about whether this connected component is a light, and the specified calculation of the set of statistics includes collecting at least one direction statistics and at least one value of the brightness gradient along the boundary along at least one connected binarized region; and
определение с учетом принятого решения для одной или более связных компонент, посредством процессора, того, присутствует ли один или более бликов в кадре.determining, taking into account the decision made for one or more connected components, by the processor, whether one or more glare is present in the frame.
2. Способ по п. 1, в котором предварительная обработка кадра включает в себя бинаризацию кадра, причем бинаризация кадра выполняется на основе порогового значения бинаризации.2. The method according to claim 1, in which the preliminary processing of the frame includes binarization of the frame, and binarization of the frame is performed based on the threshold value of binarization.
3. Способ по п. 2, в котором пороговое значение бинаризации подбирается итеративным образом на основе информации о ранее проанализированном по меньшей мере одном кадре.3. The method according to p. 2, in which the threshold value of binarization is selected iteratively based on information about previously analyzed at least one frame.
4. Способ по п. 1, в котором вычисление набора статистик выполняется для всех связных компонент.4. The method according to claim 1, in which the calculation of the set of statistics is performed for all connected components.
5. Способ по п. 1, в котором вычисление набора статистик осуществляется итеративным образом до обнаружения всех бликов в кадре.5. The method according to claim 1, in which the calculation of the set of statistics is carried out iteratively until all glare in the frame is detected.
6. Способ по п. 1, в котором принятие решения дополнительно содержит удаление из дальнейшего рассмотрения всех связных компонент, являющихся засветами, где связные компоненты, являющиеся засветами, содержат распознаваемый сигнал.6. The method according to claim 1, in which the decision further comprises removing from further consideration all the connected components that are light, where the connected components that are light, contain a recognizable signal.
7. Способ по п. 1, в котором набор статистик включает в себя по меньшей мере один показатель отношения числа черных пикселей к количеству пикселей по периметру по меньшей мере одной связной компоненты или по меньшей мере одну величину средней яркости данной по меньшей мере одной связной компоненты.7. The method according to claim 1, in which the set of statistics includes at least one indicator of the ratio of the number of black pixels to the number of pixels along the perimeter of at least one connected component, or at least one average brightness value of this at least one connected component .
8. Способ по п. 1, дополнительно содержащий:8. The method of claim 1, further comprising:
выполнение сортировки связных компонент на основе площади данных компонент; иperforming sorting of connected components based on the area of the component data; and
исключение из множества связных компонент тех связных компонент, у которых площадь меньше заданного значения.exclusion from the set of connected components of those connected components in which the area is less than a given value.
9. Способ по п. 5, в котором вычисление набора статистик дополнительно включает вычисление второго множества статистик для одной или более связных компонент, которые на основании указанного выше способа принятия решения остались в множестве связных компонент после процесса удаления из дальнейшего рассмотрения всех связных компонент, являющихся засветами, а также определение для каждой из связных компонент, на основе использования обученного классификатора и рассчитанного второго множества статистик, является ли одна или более связных компонент засветами.9. The method of claim 5, wherein calculating the set of statistics further includes calculating a second set of statistics for one or more connected components, which, based on the above decision method, remain in the set of connected components after the process of removing from further consideration all connected components that are light, as well as determining for each of the connected components, based on the use of a trained classifier and the calculated second set of statistics, is one or more connected component highlights.
10. Способ по п. 1, в котором предварительная обработка кадра включает уменьшение анализируемого кадра.10. The method according to p. 1, in which the preliminary processing of the frame includes reducing the analyzed frame.
11. Способ по п. 10, в котором уменьшение кадра выполняется путем последовательного применения масок либо путем последующего сглаживания и интерполяции.11. The method according to p. 10, in which the reduction of the frame is performed by successive use of masks or by subsequent smoothing and interpolation.
12. Способ по п. 1, в котором предварительная обработка кадра включает применение морфологического фильтра, причем данный морфологический фильтр увеличивает степень сглаживания.12. The method according to p. 1, in which the preliminary processing of the frame includes the use of a morphological filter, and this morphological filter increases the degree of smoothing.
13. Способ по п. 1, в котором принятие решения включает применение обученного классификатора.13. The method according to p. 1, in which the decision includes the use of a trained classifier.
14. Способ по п. 1, дополнительно содержащий этап аппроксимации одной или более связных компонент эллипсоидом инерции, причем статистика вычисляется для свойств данного эллипса и его уменьшенного представления.14. The method of claim 1, further comprising the step of approximating one or more connected components with an inertia ellipsoid, the statistics being computed for the properties of the ellipse and its reduced representation.
15. Способ по п. 14, в котором вычисление множества статистик для свойств эллипса и его уменьшенного представления включает в себя сбор и анализ количества подтверждающих и отвергающих перепадов яркости на контуре вокруг пятна;15. The method according to p. 14, in which the calculation of many statistics for the properties of the ellipse and its reduced representation includes collecting and analyzing the number of confirming and rejecting brightness drops on the contour around the spot;
статистики для выборки на контуре эллипса скалярных произведений градиента яркости и единичного вектора от точки к центру;statistics for sampling on the ellipse contour scalar products of the brightness gradient and a unit vector from point to center;
статистики яркостей пикселей вдоль границы эллипсов.statistics of brightness of pixels along the border of ellipses.
16. Способ по п. 9, дополнительно включающий использование для обучения классификатора информации о количестве неправильно распознанных или неуверенно распознанных символов, полученных в результате оптического распознавания символов (OCR).16. The method according to p. 9, further comprising using for training the classifier information about the number of incorrectly recognized or uncertainly recognized characters obtained as a result of optical character recognition (OCR).
17. Способ по п. 1, дополнительно включающий предложение пользователю набора возможных вариантов действий, где возможные варианты действий включают инструкции для изменения условий съемки или настроек для получения изображения, обладающего более высоким качеством.17. The method according to p. 1, further comprising offering the user a set of possible options, where the possible options include instructions for changing the shooting conditions or settings for obtaining an image with higher quality.
18. Способ по п. 1, дополнительно содержащий:18. The method of claim 1, further comprising:
разбиение кадра на области данных изображения;splitting a frame into image data areas;
определение в кадре для связной компоненты первого набора областей данных изображения, которые содержат данную связную компоненту;determining in a frame for a connected component a first set of image data regions that contain a given connected component;
вычисление третьего набора статистик, полученных на основе анализа областей, входящих в первый набор областей для данной связной компоненты;calculating a third set of statistics obtained based on the analysis of areas included in the first set of areas for a given connected component;
вычисление статистики в смежных областях, полученной на основе анализа одной или более областей кадра, прилегающих к областям из первого набора областей для данной связной компоненты; иcalculation of statistics in adjacent areas, obtained on the basis of the analysis of one or more areas of the frame adjacent to areas from the first set of areas for a given connected component; and
сравнение третьего набора статистик со статистикой в смежных областях, где наличие блика в кадре устанавливается на основании сравнения третьего набора статистик со статистикой в смежных областях.comparing the third set of statistics with statistics in adjacent areas, where the presence of glare in the frame is established based on a comparison of the third set of statistics with statistics in adjacent areas.
19. Способ по п. 18, в котором третий набор статистик включает показатель соотношения сигнала к шуму для областей, входящих в первый набор областей для связной компоненты, и дополнительно отличающийся тем, что статистика в смежных областях представляет собой показатель соотношения сигнала к шуму в одной или более областях, прилегающих к областям из первого набора областей для данной связной компоненты.19. The method according to p. 18, in which the third set of statistics includes an indicator of the signal-to-noise ratio for areas included in the first set of areas for a connected component, and further characterized in that the statistics in adjacent areas is an indicator of the signal-to-noise ratio in one or more areas adjacent to areas from the first set of areas for a given connected component.
20. Способ по п. 19, в котором наличие блика в областях, входящих в первый набор областей для связной компоненты, устанавливается, если показатель соотношения сигнала к шуму для первого набора областей для связной компоненты меньше на заданное значение от аналогичного показателя в прилегающих областях.20. The method according to p. 19, in which the presence of glare in the areas included in the first set of areas for the connected component is established if the signal-to-noise ratio for the first set of areas for the connected component is less by a predetermined value from the same indicator in adjacent areas.
21. Способ по п. 20, дополнительно содержащий этап определения одной или более областей кадра путем выбора тех областей, которые окружают области, входящие в первый набор областей.21. The method according to p. 20, further comprising the step of determining one or more areas of the frame by selecting those areas that surround the areas included in the first set of areas.
22. Способ по п. 16, дополнительно содержащий:22. The method of claim 16, further comprising:
определение области обнаруженного блика в кадре;determining the area of detected flare in the frame;
изменение кадра для визуального представления области обнаруженного блика;changing the frame for a visual representation of the region of detected flare;
отображение измененного кадра;display of the changed frame;
получение входных данных на основе средств графического интерфейса, которые изменяют область блика; иobtaining input data based on graphical interface tools that change the area of glare; and
обновление параметров классификатора для обнаружения бликов на основе полученных данных.updating the classifier parameters for glare detection based on the received data.
23. Способ по п. 22, в котором область обнаруженного блика ограничена линией, представляющей границу обнаруженного блика.23. The method of claim 22, wherein the region of the detected glare is limited to a line representing the boundary of the detected glare.
24. Способ по п. 22, в котором область обнаруженного блика увеличивается на основании полученных данных от пользователя.24. The method of claim 22, wherein the region of the detected flare is increased based on the received data from the user.
25. Способ по п. 22, в котором область обнаруженного блика уменьшается на основании полученных данных от пользователя.25. The method according to p. 22, in which the region of detected flare is reduced based on the received data from the user.
26. Способ по п. 1, дополнительно содержащий определение сообщения, ассоциированного с обнаруженным бликом для уменьшения или исправления обнаруженного блика и отображения данного сообщения.26. The method of claim 1, further comprising determining a message associated with the detected glare to reduce or correct the detected glare and display the message.
27. Способ по п. 1, дополнительно содержащий:27. The method of claim 1, further comprising:
определение уровня дефектов в кадре на основе анализа областей кадра, проведенного с целью определения типов дефектов, содержащихся в областях кадра;determining the level of defects in the frame based on the analysis of the areas of the frame carried out in order to determine the types of defects contained in the areas of the frame;
определение того факта, является ли уровень дефектов в кадре меньше заданного порога; иdetermination of the fact whether the level of defects in the frame is less than a predetermined threshold; and
сохранение этого кадра в долговременной памяти на основании определения уровня дефектов в кадре, который меньше заданного порога.saving this frame in long-term memory based on determining the level of defects in the frame, which is less than a predetermined threshold.
28. Способ по п. 1, отличающийся тем, что обнаружение бликов в кадре выполняется для второго предварительно обработанного кадра.28. The method according to p. 1, characterized in that the detection of glare in the frame is performed for the second pre-processed frame.
29. Система для обнаружения бликов в кадре, включающая один или более процессоров, настроенных на29. A system for detecting glare in a frame, including one or more processors configured to
предварительную обработку кадра, включающего данные изображения;preprocessing a frame including image data;
определение набора связных компонент в предварительно обработанном кадре;determining a set of connected components in a pre-processed frame;
вычисление набора статистик для одной или более связных компонент из набора связных компонент;calculating a set of statistics for one or more connected components from a set of connected components;
принятие решения для одной или более связных компонент, на основе вычисленного набора статистик, о том, является ли данная связная компонента засветом, при этом указанное вычисление набора статистик включает сбор по меньшей мере одной статистики направлений и по меньшей мере одного значения градиента яркости по границе по меньшей мере одной связной бинаризованной области; иmaking a decision for one or more connected components, based on the computed set of statistics, about whether this connected component is a light, and the specified calculation of the set of statistics includes collecting at least one direction statistics and at least one value of the brightness gradient along the boundary along at least one connected binarized region; and
определение с учетом принятого решения для одной или более связных компонент, посредством процессора, того, присутствует ли один или более бликов в кадре.determining, taking into account the decision made for one or more connected components, by the processor, whether one or more glare is present in the frame.
30. Система по п. 29, в которой набор статистик включает показатель отношения числа черных пикселей к количеству пикселей по периметру связной компоненты или величину средней яркости данной связной компоненты.30. The system of claim 29, wherein the set of statistics includes an indicator of the ratio of the number of black pixels to the number of pixels along the perimeter of the connected component or the average brightness of the connected component.
31. Система по п. 29, отличающаяся тем, что один или более процессоров дополнительно настроены на31. The system of claim. 29, wherein one or more processors are further configured to
выполнение сортировки связных компонент на основе площади данных компонент, иperforming sorting of the connected components based on the area of the component data, and
исключение из набора связных компонент тех связных компонент, у которых площадь меньше заданного значения.exclusion from the set of connected components of those connected components in which the area is less than the specified value.
32. Постоянный машиночитаемый носитель данных, содержащий хранящиеся на нем исполняемые инструкции для обнаружения бликов в кадре, которые при их исполнении процессором побуждают его выполнять:32. A permanent computer-readable storage medium containing executable instructions stored on it for detecting glare in a frame, which, when executed by the processor, causes it to execute:
предварительную обработку кадра, включающего данные изображения;preprocessing a frame including image data;
определение набора связных компонент в предварительно обработанном кадре;determining a set of connected components in a pre-processed frame;
вычисление набора статистик для одной или более связных компонент из набора связных компонент;calculating a set of statistics for one or more connected components from a set of connected components;
принятие решения для одной или более связных компонент, на основе вычисленного набора статистик, о том, является ли данная связная компонента засветом, при этом указанное вычисление набора статистик включает сбор по меньшей мере одной статистики направлений и по меньшей мере одного значения градиента яркости по границе по меньшей мере одной связной бинаризованной области; иmaking a decision for one or more connected components, based on the computed set of statistics, about whether this connected component is a light, and the specified calculation of the set of statistics includes collecting at least one direction statistics and at least one value of the brightness gradient along the boundary along at least one connected binarized region; and
определение с учетом принятого решения для одной или более связных компонент, посредством процессора, того, присутствует ли один или более бликов в кадре.determining, taking into account the decision made for one or more connected components, by the processor, whether one or more glare is present in the frame.
33. Носитель данных по п. 32, в котором набор статистик включает показатель отношения числа черных пикселей к количеству пикселей по периметру связной компоненты или величину средней яркости данной связной компоненты.33. The data medium according to claim 32, wherein the set of statistics includes an indicator of the ratio of the number of black pixels to the number of pixels along the perimeter of the connected component or the average brightness of the connected component.
34. Носитель данных по п. 32, отличающийся тем, что указанные инструкции побуждают процессор осуществлять:34. The storage medium according to p. 32, characterized in that the instructions instruct the processor to:
сортировку связных компонент на основе площади данных компонент, иsorting the connected components based on the area of the component data, and
исключение из множества связных компонент тех связных компонент, у которых площадь меньше заданного значения.exclusion from the set of connected components of those connected components in which the area is less than a given value.
RU2014101665A 2014-01-21 2014-01-21 Обнаружение блика в кадре данных изображения RU2653461C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014101665A RU2653461C2 (ru) 2014-01-21 2014-01-21 Обнаружение блика в кадре данных изображения

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
RU2014101665A RU2653461C2 (ru) 2014-01-21 2014-01-21 Обнаружение блика в кадре данных изображения
US14/564,399 US9412030B2 (en) 2008-12-09 2014-12-09 Visualization of defects in a frame of image data
US14/564,424 US9418407B2 (en) 2008-12-09 2014-12-09 Detecting glare in a frame of image data

Publications (2)

Publication Number Publication Date
RU2014101665A RU2014101665A (ru) 2015-07-27
RU2653461C2 true RU2653461C2 (ru) 2018-05-08

Family

ID=53761791

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014101665A RU2653461C2 (ru) 2014-01-21 2014-01-21 Обнаружение блика в кадре данных изображения

Country Status (2)

Country Link
US (2) US9412030B2 (ru)
RU (1) RU2653461C2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2688239C1 (ru) * 2018-08-07 2019-05-21 Акционерное общество "Гознак" (АО "Гознак") Способ видеоконтроля качества повтора квазиидентичных объектов на основе скоростных алгоритмов сравнения плоских периодических структур рулонного полотна

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8098303B2 (en) * 2008-12-09 2012-01-17 Abbyy Software Ltd. Method and system for restoring a motion-blurred image
JP5255132B2 (ja) * 2012-01-18 2013-08-07 シャープ株式会社 多階調文字の表示方法、多階調文字の表示装置、多階調文字の表示プログラム、多階調文字の表示装置を備えたテレビ受像機、及び多階調文字の表示装置を備えた携帯機器
US9626582B2 (en) 2014-12-30 2017-04-18 Kodak Alaris Inc. System and method for measuring mobile document image quality
US9646225B2 (en) * 2015-08-21 2017-05-09 Sony Corporation Defocus estimation from single image based on Laplacian of Gaussian approximation
EP3144883A1 (en) * 2015-09-16 2017-03-22 Thomson Licensing Method and apparatus for sharpening a video image using an indication of blurring
US10591218B2 (en) * 2017-10-27 2020-03-17 Whirlpool Corporation Oven having an imaging device
EP3489892A1 (en) * 2017-11-24 2019-05-29 Ficosa Adas, S.L.U. Determining clean or dirty captured images
CN109064439B (zh) * 2018-06-15 2020-11-24 杭州舜浩科技有限公司 基于分区的单侧入光式导光板暗影缺陷提取方法
CN110084277B (zh) * 2019-03-29 2021-03-05 广州思德医疗科技有限公司 一种训练集的拆分方法及装置
CN111862035A (zh) * 2020-07-17 2020-10-30 平安科技(深圳)有限公司 光斑检测模型的训练方法、光斑检测方法、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030095719A1 (en) * 2001-11-19 2003-05-22 Porikli Fatih M. Image simplification using a robust reconstruction filter
US6970198B1 (en) * 2000-09-14 2005-11-29 Hewlett-Packard Development Company, L.P. Digital camera and method of improving image quality in live view mode
US20060008122A1 (en) * 2004-04-02 2006-01-12 Kurzweil Raymond C Image evaluation for reading mode in a reading machine
RU2370816C1 (ru) * 2005-09-19 2009-10-20 Хуавэй Текнолоджиз Ко., Лтд. Способ пространственной фильтрации, используемый при кодировании изображений
US7697778B2 (en) * 2004-11-10 2010-04-13 Fotonation Vision Limited Method of notifying users regarding motion artifacts based on image analysis
US20110176728A1 (en) * 2010-01-18 2011-07-21 Sharp Kabushiki Kaisha Image compressing apparatus, compressed image outputting apparatus, image compression method, and recording medium
US20130155474A1 (en) * 2008-01-18 2013-06-20 Mitek Systems Systems and methods for automatic image capture on a mobile device

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0525408A3 (en) 1991-07-01 1993-12-22 Eastman Kodak Co Method for multiframe wiener restoration of noisy and blurred image sequences
US5594817A (en) 1992-10-19 1997-01-14 Fast; Bruce B. OCR image pre-processor for detecting and reducing skew of the image of textual matter of a scanned document
US5647023A (en) 1994-07-28 1997-07-08 Lucent Technologies Inc. Method of nonlinear filtering of degraded document images
US6295392B1 (en) 1998-05-20 2001-09-25 Itt Manufacturing Enterprises, Inc. Super resolution methods for electro-optical systems
US6470097B1 (en) 1999-01-22 2002-10-22 Siemens Corporation Research, Inc. Total variational blind image restoration from image sequences
GB9929364D0 (en) 1999-12-10 2000-02-02 Microbar Security Limited Improvements in or relating to coding techniques
US6859564B2 (en) 2001-02-15 2005-02-22 James N. Caron Signal processing using the self-deconvolving data reconstruction algorithm
US6798910B1 (en) 2001-05-17 2004-09-28 The United States Of America As Represented By The Secretary Of The Air Force Self-optimizing edge detection in blurred, high-noise images
WO2004001667A2 (en) 2002-06-21 2003-12-31 The Trustees Of Columbia University In The City Of New York Systems and methods for de-blurring motion blurred images
US20040119724A1 (en) * 2002-12-20 2004-06-24 Imagelinx International Ltd. Digital prepress masking tools
US7136518B2 (en) * 2003-04-18 2006-11-14 Medispectra, Inc. Methods and apparatus for displaying diagnostic data
US7433086B2 (en) 2004-09-27 2008-10-07 General Electric Company Edge detection and correcting system and method
US7616254B2 (en) 2006-03-16 2009-11-10 Sony Corporation Simple method for calculating camera defocus from an image scene
KR101161471B1 (ko) 2006-04-03 2012-07-03 옴니비젼 씨디엠 옵틱스 인코퍼레이티드 비선형 및/또는 공간적으로 변하는 이미지 프로세싱을 이용한 광학 이미징 시스템 및 방법
US7639289B2 (en) 2006-05-08 2009-12-29 Mitsubishi Electric Research Laboratories, Inc. Increasing object resolutions from a motion-blurred image
US20070286514A1 (en) 2006-06-08 2007-12-13 Michael Scott Brown Minimizing image blur in an image projected onto a display surface by a projector
US7544919B2 (en) 2006-11-20 2009-06-09 Red.Com, Inc. Focus assist system and method
TW200834459A (en) 2007-02-05 2008-08-16 Huper Lab Co Ltd Video object segmentation method applied for rainy situations
US8098303B2 (en) 2008-12-09 2012-01-17 Abbyy Software Ltd. Method and system for restoring a motion-blurred image
US8300949B2 (en) 2010-05-18 2012-10-30 Sharp Laboratories Of America, Inc. Edge detection technique having improved feature visibility
JP6007600B2 (ja) * 2012-06-07 2016-10-12 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US20130329073A1 (en) * 2012-06-08 2013-12-12 Peter Majewicz Creating Adjusted Digital Images with Selected Pixel Values
US9043349B1 (en) * 2012-11-29 2015-05-26 A9.Com, Inc. Image-based character recognition
US9058644B2 (en) * 2013-03-13 2015-06-16 Amazon Technologies, Inc. Local image enhancement for text recognition

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970198B1 (en) * 2000-09-14 2005-11-29 Hewlett-Packard Development Company, L.P. Digital camera and method of improving image quality in live view mode
US20030095719A1 (en) * 2001-11-19 2003-05-22 Porikli Fatih M. Image simplification using a robust reconstruction filter
US20060008122A1 (en) * 2004-04-02 2006-01-12 Kurzweil Raymond C Image evaluation for reading mode in a reading machine
US7697778B2 (en) * 2004-11-10 2010-04-13 Fotonation Vision Limited Method of notifying users regarding motion artifacts based on image analysis
RU2370816C1 (ru) * 2005-09-19 2009-10-20 Хуавэй Текнолоджиз Ко., Лтд. Способ пространственной фильтрации, используемый при кодировании изображений
US20130155474A1 (en) * 2008-01-18 2013-06-20 Mitek Systems Systems and methods for automatic image capture on a mobile device
US20110176728A1 (en) * 2010-01-18 2011-07-21 Sharp Kabushiki Kaisha Image compressing apparatus, compressed image outputting apparatus, image compression method, and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2688239C1 (ru) * 2018-08-07 2019-05-21 Акционерное общество "Гознак" (АО "Гознак") Способ видеоконтроля качества повтора квазиидентичных объектов на основе скоростных алгоритмов сравнения плоских периодических структур рулонного полотна

Also Published As

Publication number Publication date
US9418407B2 (en) 2016-08-16
RU2014101665A (ru) 2015-07-27
US9412030B2 (en) 2016-08-09
US20150161469A1 (en) 2015-06-11
US20150154742A1 (en) 2015-06-04

Similar Documents

Publication Publication Date Title
RU2653461C2 (ru) Обнаружение блика в кадре данных изображения
BR112018009108A8 (pt) método para a aquisição e análise de imagens aéreas
BR112017004379A2 (pt) determinação de vivacidade em multi-estágio
EP2958054A3 (en) Hazard detection in a scene with moving shadows
JP2012073953A5 (ru)
WO2015128803A3 (en) System and method for auto-contouring in adaptive radiotherapy
JP2012053756A5 (ru)
JP2013250932A5 (ru)
TW201612504A (en) Inspection apparatus and inspection method
EP3327617A3 (en) Object detection in image data using depth segmentation
JP2012016453A5 (ru)
JP2016093240A5 (ru)
BR112015001172A2 (pt) contador de grãos
EP2975552A3 (en) Entropy-reducing low pass filter for face detection
EP2860663A3 (en) Eye part detection apparatus
EP2779095A3 (en) Optic disc image segmentation method
JP2017047127A5 (ru)
BR112017000139A2 (pt) sistema e método para detectar um movimento e/ou uma posição de um objeto a ser monitorado, e programa de computador executável em uma unidade de processamento de imagem de um sistema
JP2017208616A5 (ru)
JP2015204023A5 (ru)
RU2018101207A (ru) Способ и устройство для определения карты глубины для изображения
EP2908269A3 (en) Method and apparatus for managing audio visual, audio or visual content
RU2605078C2 (ru) Сегментация изображения для верификации данных
JP2017038169A5 (ru)
JP2014044470A5 (ru)

Legal Events

Date Code Title Description
HE9A Changing address for correspondence with an applicant
PC43 Official registration of the transfer of the exclusive right without contract for inventions

Effective date: 20181121

QB4A Licence on use of patent

Free format text: LICENCE FORMERLY AGREED ON 20201211

Effective date: 20201211