RU2721188C2 - Improved contrast and noise reduction on images obtained from cameras - Google Patents
Improved contrast and noise reduction on images obtained from cameras Download PDFInfo
- Publication number
- RU2721188C2 RU2721188C2 RU2017143913A RU2017143913A RU2721188C2 RU 2721188 C2 RU2721188 C2 RU 2721188C2 RU 2017143913 A RU2017143913 A RU 2017143913A RU 2017143913 A RU2017143913 A RU 2017143913A RU 2721188 C2 RU2721188 C2 RU 2721188C2
- Authority
- RU
- Russia
- Prior art keywords
- pixel
- text
- pixels
- brightness
- contrast
- Prior art date
Links
- 230000009467 reduction Effects 0.000 title abstract description 3
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000001914 filtration Methods 0.000 claims abstract description 25
- 238000013500 data storage Methods 0.000 claims abstract description 5
- 238000012015 optical character recognition Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 31
- 230000003044 adaptive effect Effects 0.000 claims description 14
- 230000002829 reductive effect Effects 0.000 claims description 13
- 230000009471 action Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims 3
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000012549 training Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 238000009499 grossing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012935 Averaging Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003628 erosive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010894 electron beam technology Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/94—Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/16—Image preprocessing
- G06V30/164—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/224—Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30176—Document
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Character Input (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
[0001] Настоящее описание относится к улучшению контраста и снижению шума на изображении документа, полученного камерами, встроенными в устройство, такое как мобильное устройство.[0001] The present description relates to improving contrast and reducing noise in an image of a document obtained by cameras embedded in a device, such as a mobile device.
УРОВЕНЬ ТЕХНИКИBACKGROUND
[0002] Печатные документы на естественном языке до сих пор являются широко распространенным средством, используемым для коммуникации между людьми в рамках организаций, а также для распространения информации среди ее потребителей. С появлением повсеместно используемых мощных вычислительных ресурсов, включая персональные вычислительные ресурсы, реализованные в смартфонах, планшетах, ноутбуках и персональных компьютерах, а также с распространением более мощных вычислительных ресурсов облачных вычислительных сервисов, центров обработки данных и корпоративных серверов организаций и предприятий, шифрование и обмен информацией на естественном языке все чаще выполняется в виде электронных документов.[0002] Printed documents in natural language are still a widespread means used for communication between people within organizations, as well as for disseminating information among its consumers. With the advent of ubiquitous powerful computing resources, including personal computing resources implemented in smartphones, tablets, laptops and personal computers, as well as with the spread of more powerful computing resources of cloud computing services, data centers and corporate servers of organizations and enterprises, encryption and exchange of information in natural language is increasingly performed in the form of electronic documents.
[0003] В отличие от печатных документов, которые по своей сути представляют собой изображения, электронные документы содержат последовательности цифровых кодов символов и знаков естественного языка. Поскольку электронные документы имеют перед печатными документами преимущества по стоимости, возможностям передачи и рассылки, простоте редактирования и изменения, а также по надежности хранения, за последние 50 лет развилась целая отрасль, поддерживающая способы и системы преобразования печатных документов в электронные. Вычислительные способы и системы оптического распознавания символов, совместно с электронными сканерами, являются надежными и экономичными средствами получения изображений печатных документов и компьютерной обработки получаемых цифровых изображений содержащих текст документов с целью создания электронных документов, соответствующих печатным.[0003] Unlike printed documents, which are essentially images, electronic documents contain sequences of digital character codes and natural language characters. Since electronic documents have advantages over printed documents in terms of cost, transmission and distribution capabilities, ease of editing and modification, as well as storage reliability, an entire industry has developed over the past 50 years that supports methods and systems for converting printed documents into electronic ones. Computing methods and optical character recognition systems, together with electronic scanners, are reliable and cost-effective means of obtaining images of printed documents and computer processing of digital images obtained containing text documents in order to create electronic documents corresponding to printed ones.
[0004] С появлением смартфонов, оснащенных камерами, а также других мобильных устройств формирования изображения с процессорным управлением появилась возможность получения цифровых изображений, содержащих текст документов, с помощью широкого диапазона различных типов широко распространенных портативных устройств, включая смартфоны, недорогие цифровые камеры, недорогие камеры видеонаблюдения, а также устройства получения изображений, встроенные в мобильные вычислительные приборы, включая планшеты и ноутбуки. Получаемые при помощи таких портативных устройств и приборов цифровые изображения документов, содержащих текст, могут обрабатываться вычислительными системами оптического распознавания символов, в том числе приложениями оптического распознавания символов (также именуемыми обработкой OCR), установленными в смартфонах или реализованными на серверах, для создания соответствующих электронных документов.[0004] With the advent of smartphones equipped with cameras, as well as other processor-controlled mobile imaging devices, it has become possible to receive digital images containing text of documents using a wide range of different types of widely used portable devices, including smartphones, low-cost digital cameras, low-cost cameras CCTV, as well as image acquisition devices built into mobile computing devices, including tablets and laptops. Digital images of documents containing text obtained using such portable devices and devices can be processed by optical character recognition computer systems, including optical character recognition applications (also called OCR processing) installed on smartphones or implemented on servers, to create the corresponding electronic documents .
[0005] При локальной реализации функции обработки OCR, эта функция может быть реализована на портативном устройстве, и цифровое изображение может обрабатываться с целью создания распознанного текстового документа. Альтернативно, цифровое изображение, полученное электронным устройством пользователя (в сжатой форме или в фактическом размере), передается через сеть связи на сервер систем оптического распознавания символов для выполнения функции OCR на стороне сервера. Затем сервер (i) получает цифровое изображение, (ii) распаковывает цифровое изображение для получения распакованного цифрового изображения (в случаях, когда изображение передается в сжатой форме между портативным устройством и сервером) и (iii) выполняет функцию OCR на базе сервера для создания распознанного текстового документа на основе цифрового изображения, при этом распознанный текстовый документ содержит текст, сформированный на основе цифрового изображения. Затем сервер может передать распознанный текстовый документ обратно на электронное устройство пользователя через сеть связи (в исходном или сжатом виде).[0005] With the local implementation of the OCR processing function, this function can be implemented on a portable device, and a digital image can be processed to create a recognized text document. Alternatively, the digital image obtained by the user's electronic device (in compressed form or in actual size) is transmitted via the communication network to the server of the optical character recognition systems to perform the OCR function on the server side. The server then (i) receives a digital image, (ii) decompresses the digital image to obtain an unpacked digital image (in cases where the image is transmitted in compressed form between the portable device and the server) and (iii) performs the server-based OCR function to create the recognized text document based on a digital image, while the recognized text document contains text formed on the basis of a digital image. Then the server can transfer the recognized text document back to the user's electronic device via the communication network (in its original or compressed form).
ОПИСАНИЕ ЧЕРТЕЖЕЙDESCRIPTION OF DRAWINGS
[0006] На ФИГ. 1 представлена схема примера системы для улучшения контраста и (или) уменьшения шума на изображении документа, полученного камерой, встроенной в устройство, например, мобильное устройство.[0006] FIG. 1 is a diagram of an example system for improving contrast and (or) reducing noise in an image of a document received by a camera integrated in a device, for example, a mobile device.
[0007] На ФИГ. 2 представлена блок-схема примера процесса улучшения контраста и (или) уменьшения шума на изображении документа, полученного камерой, встроенной в устройство, например, мобильное устройство.[0007] In FIG. 2 is a flowchart of an example of a process for improving contrast and / or reducing noise in an image of a document received by a camera integrated in a device, for example, a mobile device.
[0008] На ФИГ. 3 представлена схема примера системы для слияния значений яркости пикселей в перекрывающихся частях текстовых блоков.[0008] In FIG. 3 is a diagram of an example system for merging pixel brightness values in overlapping parts of text blocks.
[0009] На ФИГ. 4 представлена схема примера вычислительной системы.[0009] FIG. 4 is a diagram of an example computing system.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИDESCRIPTION OF PREFERRED EMBODIMENTS
[0010] Этот документ описывает системы и методики улучшения контраста и (или) уменьшения шума на изображении документа, полученного камерами, встроенными в устройство, например, мобильное устройство. Для уменьшения ошибок при оптическом распознавании символов (OCR) системы и методики, описанные в этом документе, получают высококачественное изображение документа с минимальным содержанием шума. Эти системы и методики подавляют шум и выполняют локальное деконтрастирование проблемных пикселей изображения.[0010] This document describes systems and techniques for improving the contrast and (or) reducing noise in the image of a document received by cameras embedded in a device, such as a mobile device. To reduce errors in optical character recognition (OCR), the systems and procedures described in this document produce a high-quality image of the document with minimal noise. These systems and techniques suppress noise and perform local de-contrasting of problematic image pixels.
[0011] Зашумленные изображения, полученные в условиях недостаточной освещенности, часто содержат локальные области расфокусировки или смаза. Иногда до обращения к системам OCR применяются стандартные методики повышения контурной резкости изображения, такие как «нерезкое маскирование». Однако эффект от использования этих традиционных методик в OCR ограничен сопутствующим усилением шума и возникновением проблем от подавления усиленного шума. Обычно функция OCR, выполняемая локально, например, на мобильном устройстве, обеспечивает более низкое качество результатов OCR по сравнению с функцией OCR на базе сервера (поскольку локально выполняемые системы OCR менее сложные, чем выполняемые на сервере системы OCR в связи с обычно ограниченными вычислительными ресурсами, доступными на портативном (мобильном) устройстве, по сравнению с сервером, выделенным для выполнения функции OCR). В любом случае, выполняется ли функция OCR локально или на сервере, эта функция включает некую предварительную обработку цифрового изображения для сокращения количества артефактов в цифровом изображении (т.е. уменьшение шума, оптического размытия и т.д.). В рамках функции OCR портативное устройство или сервер выполняет бинаризацию и вычислительноемкие процедуры OCR.[0011] Noisy images obtained in low light often contain local areas of defocus or blur. Sometimes, before resorting to OCR systems, standard techniques are used to increase the contour sharpness of the image, such as “unsharp masking”. However, the effect of using these traditional techniques in OCR is limited by concomitant noise amplification and the occurrence of problems from suppression of amplified noise. Typically, an OCR function executed locally, for example on a mobile device, provides lower quality OCR results than a server-based OCR function (since locally running OCR systems are less complex than server-based OCR systems due to usually limited computing resources, available on a portable (mobile) device compared to a server dedicated to the OCR function). In any case, whether the OCR function is performed locally or on the server, this function includes some preliminary processing of the digital image to reduce the number of artifacts in the digital image (i.e., reduce noise, optical blur, etc.). As part of the OCR function, a portable device or server performs binarization and computationally intensive OCR procedures.
[0012] В ходе бинаризации и процессов OCR изображение документа разбивается на блоки с примерно постоянными характеристиками шума и сигнала внутри блоков. Использование этих характеристик помогает найти высоко контрастные пиксели внутри текстовых блоков, и локальный контраст внутри каждого блока снижается до заданного уровня. Кроме того, ограничения на степень деконтрастирования (т.е. снижения уровня контраста) локальных импульсов шума может предотвратить искажение структур текста. Некоторые текстовые структуры могут быть похожи на локальные импульсы шума, поэтому ограничение на степень деконтрастирования предотвращает подавление текстовых структур наравне с локальными импульсами шума. Кроме того, эти системы и методики могут в сначала ослаблять обнаруженные импульсы, после чего выполнять выборочное сглаживание с новой дисперсией шума, не переключаясь между фильтрацией импульсов и сглаживанием на каждом пикселе. Это обеспечивает более эффективную работу усредняющего фильтра. Кроме того, сглаживание может выполняться по-разному для фоновых пикселей и пикселей связных компонент (например, для разных видов пикселей могут использоваться разные параметры фильтрации). Эти системы и методики также могут повышать контраст слабоконтрастных пикселей связных компонент до заданного уровня.[0012] During binarization and OCR processes, a document image is divided into blocks with approximately constant noise and signal characteristics within the blocks. Using these characteristics helps to find highly contrasting pixels inside text blocks, and the local contrast inside each block is reduced to a given level. In addition, restrictions on the degree of decontrasting (i.e., reducing the contrast level) of local noise pulses can prevent distortion of text structures. Some text structures may look like local noise pulses, so limiting the degree of decontrast prevents text structures from being suppressed along with local noise pulses. In addition, these systems and techniques can first weaken the detected pulses, and then perform selective smoothing with a new noise dispersion without switching between pulse filtering and smoothing at each pixel. This provides a more efficient operation of the averaging filter. In addition, smoothing can be performed differently for background pixels and pixels of connected components (for example, different filtering parameters can be used for different types of pixels). These systems and techniques can also increase the contrast of low-contrast pixels of connected components to a predetermined level.
[0013] Описанные в настоящем документе системы и методики могут обеспечить одно или более из следующих преимуществ. Например, когда шум на полученном от камеры изображении невозможно описать известными моделями шума (например, как гауссов шум или белый шум) и шум нельзя считать независимым от сигнала или истинного содержимого изображения, система может предусматривать устранение шума и (или) увеличение контраста изображения с учетом характеристик полезного сигнала изображения. В другом примере описываемые системы и методики могут улучшить контраст (например, уменьшить контраст между импульсами шума и пикселями фона и (или) увеличить контраст между пикселями связных компонент и пикселями фона), и (или) устранить шум, там, где использование стандартных локальных и нелокальных выборочных усредняющих фильтров с сохранением контуров может оставлять большое количество контрастных зашумленных пикселей. Традиционное подавление импульсов на изображении с интенсивной фильтрацией может привести к деградации полезного сигнала. Дисперсия шума на изображении, равная 25-30% или выше от контраста текста на изображении, может привести к неточности OCR. Таким образом, описанные системы и методики повышают точность технологии OCR за счет улучшения контраста и (или) устранения шума на изображении, где выполняется OCR, что, в противном случае может привести к неправильным результатам OCR.[0013] The systems and methods described herein may provide one or more of the following advantages. For example, when the noise in the image received from the camera cannot be described by known noise models (for example, Gaussian noise or white noise) and the noise cannot be considered independent of the signal or the true content of the image, the system may include eliminating noise and (or) increasing the contrast of the image taking into account characteristics of the desired image signal. In another example, the described systems and methods can improve contrast (for example, reduce the contrast between noise pulses and background pixels and (or) increase the contrast between pixels of connected components and background pixels), and (or) eliminate noise, where the use of standard local and non-local selective averaging filters with the preservation of contours can leave a large number of contrasting noisy pixels. Conventional pulse suppression in an image with intense filtering can lead to degradation of the desired signal. Dispersion of noise in the image, equal to 25-30% or higher of the contrast of the text in the image, can lead to inaccuracy of OCR. Thus, the described systems and methods increase the accuracy of the OCR technology by improving the contrast and / or eliminating noise in the image where the OCR is performed, which otherwise could lead to incorrect OCR results.
[0014] Подробности одного или более вариантов реализации изложены в прилагаемых чертежах и в описании ниже. Другие особенности и преимущества будут ясны из описания и чертежей, а также из пунктов формулы изобретения.[0014] Details of one or more embodiments are set forth in the accompanying drawings and in the description below. Other features and advantages will be apparent from the description and drawings, as well as from the claims.
[0015] На ФИГ. 1 представлена схема, которая иллюстрирует пример системы 100 для улучшения контраста или уменьшения шума на изображении документа, полученного с камеры, встроенной в устройство, например, мобильное устройство. Система 100 включает пользовательское электронное устройство 102. Пользовательское электронное устройство 102 может быть, например, персональным компьютером (например, настольным компьютером, портативным компьютером или нетбуком) или устройством беспроводной связи (например, смартфоном, сотовым телефоном или планшетом). Как показано на ФИГ. 1, пользовательское электронное устройство 102 реализовано как устройство беспроводной связи.[0015] In FIG. 1 is a diagram that illustrates an example of a system 100 for improving contrast or reducing noise in an image of a document received from a camera integrated in a device, such as a mobile device. System 100 includes a user
[0016] Пользовательское электронное устройство 102 включает или находится на связи как минимум с одним интерфейсом получения изображения 103а-b. Интерфейс получения изображения 103а-b включает оборудование (и соответствующее программное обеспечение при необходимости) для получения электронного изображения 120. Электронное изображение 120 может быть получено с физического документа 140, содержащего текст 142 (и, возможно, не текстовые элементы, такие как картинка 144). Физический документ 140 или другое отображение текста на электронном изображении 120 может содержать одну или более страниц, некоторые или все страницы могут содержать различный текст (который может включать перекрывающийся текст), различные рисунки, различную разметку, различные шрифты или размеры шрифтов и т.д.[0016] The user
[0017] Как показано на ФИГ. 1, интерфейс получения изображения 103а-b реализован в виде камеры. Однако интерфейс получения изображения 103а-b может быть реализован в виде нескольких камер, одна или более из которых находятся на лицевой поверхности, как показано на пользовательском электронном устройстве 102, и первый интерфейс получения изображения 103а и (или) один или более находятся на тыльной поверхности пользовательского электронного устройства 102 и второго интерфейса получения изображения 103b. В приведенном ниже описании «камерой» или интерфейсом получения изображения 103а-b может называться один (или оба) интерфейса получения изображения 103а-b. Вместо этого или в дополнение к этому интерфейс получения изображения 103а-b может быть реализован в виде сканера или другого устройства получения изображения для получения электронного изображения физического документа.[0017] As shown in FIG. 1, the
[0018] Пользовательское электронное устройство 102 может включать коммуникационный интерфейс для связи по сети 110 с серверной системой 112. Сеть 110 может содержать одно или более сетевых устройств, которые составляют сеть Интернет. Серверная система 112 может включать коммуникационный интерфейс для связи с пользовательским электронным устройством 102 по сети 110.[0018] The user
[0019] В некоторых вариантах реализации обработка OCR может выполняться пользовательским электронным устройством 102, или сервером 112, или обоими этими устройствами. Однако в случае, когда функция обработки OCR выполняется пользовательским электронным устройством 102, серверная система 112 может отсутствовать. Пользовательское электронное устройство 102 может локально исполнять модуль OCR 118, выполняя OCR электронного изображения 120 физического документа 140. Модуль OCR 118 может быть реализован, например, в виде мобильного комплекта для разработки ПО (SDK) OCR. Вместо этого или к дополнение к этому серверная система 112 может получать изображение, полученное интерфейсом получения изображения 103а-b с пользовательского электронного устройства 102 через сеть 110. Затем серверная система 112 может запускать модуль OCR 113 для выполнения OCR изображения документа. Модуль OCR 118 пользовательского электронного устройства 102 и модуль OCR 113 серверной системы 112 будут совместно именоваться модулем OCR 113, 118, указывая на то, что оба эти модуля выполняют идентичную операцию.[0019] In some embodiments, OCR processing may be performed by user
[0020] Пользовательское электронное устройство 102 и (или) серверная система 112 могут быть реализованы с возможностью выполнения команд модуля локального фильтра 114. Модуль локального фильтра 114 может исполняться программно, аппаратно, в виде микропрограммы или как комбинация этих вариантов. Модуль локального фильтра 114 выполнен с возможностью улучшения контраста и (или) уменьшения шума электронного изображения 120 физического изображения 140, полученного с интерфейса получения изображения 103а-b пользовательского электронного устройства 102 для повышения точности OCR, выполняемого модулем OCR 113, 118.[0020] The user
[0021] На ФИГ. 2 представлена блок-схема примера процесса 200 для улучшения контраста и (или) уменьшения шума на изображении документа, полученного камерами, встроенными в устройство, например, мобильное устройство. Процесс 200 может выполняться, например, системой, такой как система 100. Для удобства представления в приводимом описании система 100 используется как пример для описания процесса 200. Однако для осуществления процесса 200 может использоваться другая система или сочетание систем.[0021] In FIG. 2 is a flowchart of an
[0022] На шаге 201 изображение (например, физического документа), содержащее символы текста, обрабатывается для получения серого изображения. Например, модуль локального фильтра 114 может обрабатывать электронное изображение 120, создавая серое изображение электронного изображения 120. Модуль локального фильтра 114 может получать электронное изображение 120, предназначенное для обработки модулем OCR 113, 118. В некоторых вариантах реализации интерфейс получения изображения 103а-b может создавать электронное изображение 120. Вместо этого или к дополнение к этому пользовательское электронное устройство 102 и (или) серверная система 112 могут содержать ранее сохраненное электронное изображение 120 и могут затем извлекать электронное изображение 120 из устройства хранения данных 106. Вместо этого или к дополнение к этому пользовательское электронное устройство 102 и (или) серверная система 112 могут получать электронное изображение 120 по сети 110. В некоторых вариантах реализации модуль локального фильтра 114 может получать серое изображение от анализатора изображений или модуля OCR 113, 118 до выполнения OCR. Электронное изображение 120 может быть изображением физического документа 140 или другим цифровым изображением, содержащим текст. Один из примеров создания серого изображения описан в совместной заявке на патент США №15/165,512 «СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ПРИГОДНОСТИ ДОКУМЕНТА ДЛЯ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ (OCR)», поданной 26 мая 2016 г. В некоторых вариантах реализации создание серого изображения может быть необязательным шагом, и, таким образом, может быть пропущено. В некоторых вариантах реализации модуль локального фильтра 114 может использовать вместо серого изображения электронное изображение 120.[0022] In
[0023] На шаге 202 серое изображение и (или) изображение разделяется на блоки. Блоки могут быть перекрывающимися и (или) неперекрывающимися. Например, модуль локального фильтра 114 может разделить серое изображение и (или) электронное изображение 120 на перекрывающиеся и (или) неперекрывающиеся блоки. Модуль локального фильтра 114 может выбрать размер блоков таким образом, чтобы характеристики шума и сигнала внутри блока были приблизительно постоянными (например, яркость фона, шум, контраст текста и (или) размытие незначительно менялись в пределах данного блока).[0023] In
[0024] В некоторых вариантах реализации модуль локального фильтра 114 использует достаточно большой размер блока, чтобы не перегружать вычислительные ресурсы.[0024] In some embodiments, the
Например, модуль локального фильтра 114 может использовать размер блока N около 10% от наибольшего размера электронного изображения 120. В некоторых вариантах реализации модуль локального фильтра 114 может предварительно оценивать размер шрифта и подбирать N так, чтобы блок по высоте содержал приблизительно от трех до шести строк текста физического документа 140.For example, the
[0025] В некоторых вариантах реализации модуль локального фильтра 114 может использовать неперекрывающиеся блоки, если вычислительные ресурсы ограничены. Вместо этого в некоторых вариантах реализации модуль локального фильтра 114 может использовать перекрывающиеся блоки, когда обработанное изображение возвращается пользователю (например, после подавления шума и деконтрастирования), поскольку неперекрывающиеся блоки могут давать результаты, заметно различающиеся по яркости, контрасту и другим параметрам на границах между блоками. В некоторых вариантах реализации модуль локального фильтра 114 может не допускать различий на границах блоков, выбирая блоки, которые как минимум частично перекрываются (например, на десять-пятнадцать процентов) с соседними блоками.[0025] In some embodiments, the
[0026] На шаге 203 определяется среднее значение контраста каждого блока. Например, модуль локального фильтра 114 может определить среднее значение контраста Ci (где i представляет идентификатор соответствующего блока), связанное с серым изображением и (или) электронным изображением 120.[0026] In
[0027] В некоторых вариантах реализации модуль локального фильтра 114 проводит анализ на основе гистограммы для определения значения контраста Ci для заданного блока, определенного на шаге 202. В частности, в некоторых вариантах реализации модуль локального фильтра 114 создает гистограмму яркости. С помощью гистограммы яркости модуль локального фильтра 114 определяет минимальное и максимальное значение яркости, при котором 0,1% всех пикселей в заданном блоке имеют яркость меньше минимального значения, а 0,1% всех пикселей в заданном блоке имеют яркость выше максимума. В некоторых вариантах реализации значение яркости каждого пикселя в сером изображении может быть целым числом в диапазоне от 0 до 255. Модуль локального фильтра 114 может определить среднее значение контраста Ci как разницу между максимальным и минимальным значением.[0027] In some embodiments, the
[0028] На шаге 204 создается бинаризованная версия каждого блока. Например, модуль локального фильтра 114 может создавать бинаризованную версию каждого блока i серого изображения и (или) электронного изображения 120. Модуль локального фильтра 114 может выполнять бинаризацию с помощью алгоритма определения пороговых значений на основе яркости. Более конкретно, для процесса бинаризации может использоваться порог бинаризации th, представляющий полусумму максимальной яркости Imax и минимальной яркости Imin для заданного блока.[0028] In
[0029] [0029]
[0030] Альтернативно модуль локального фильтра 114 может использовать для вычисления порога бинаризации метод Оцу th.[0030] Alternatively, the
[0031] Затем модуль локального фильтра 114 определяет число К бинаризованных контурных пикселей на бинаризованном изображении в заданном блоке i. Например, черный пиксель может быть определен как контурный пиксель, если рядом с ним расположен соседний белый пиксель (в вертикальном или горизонтальном направлении), а количество наиболее вероятных контурных пикселей в окружающей области, например, 3×3, менее чем, например, 7 пикселей.[0031] Then, the
[0032] На шаге 205 выявляются блоки, содержащие текст. Оставшаяся часть процесса 200 может выполняться с подмножеством блоков, которые содержат компоненты текста. Например, модуль локального фильтра 114 может выявить блоки, содержащие текст. В некоторых вариантах реализации модуль локального фильтра 114 выявляет блоки, исходя как минимум из одного из следующих условий: (I) контурные бинарные пиксели превышают заданное соотношение всех пикселей в блоке (например, 3-5 процентов); и (ii) соотношение черных пикселей (или белых, если электронное изображение 120 представляет собой инвертированное изображение текста) в бинаризованном изображении, созданном на шаге 204, будет ниже заданного порога P (заданный порог P может, например, составлять от 20 до 30 процентов); и (iii) значение контраста Ci не ниже предварительно заданного значения. Однако модуль локального фильтра 114 может использовать другие способы определения текстовых блоков.[0032] In
[0033] На шаге 206 определяется среднее значение контраста текста Ct в каждом блоке, который содержит текст. Например, модуль локального фильтра 114 может использовать гистограмму яркости серого изображения и (или) электронного изображения 120, а также пороговое значение th, вычисленное на шаге 204. Более конкретно, модуль локального фильтра 114 может вычислять среднее значение М1 для пикселей, имеющих яркость меньше th. Затем модуль локального фильтра 114 может вычислять среднее значение М2 для пикселей с яркостью, равной или выше th. Затем модуль локального фильтра 114 может вычислять средний контраст текста Ct в текстовых блоках следующим образом:[0033] In
[0034] Ct=М2-М1 [0034] C t = M 2 -M 1
[0035] На шаге 207 выявляются шумовые пиксели в каждом блоке, содержащем текст, исходя из анализа статистики малой окрестности n×n пикселей вокруг каждого пикселя в блоке. В некоторых вариантах реализации на этом этапе процесса 200 тип каждого пикселя в каждом из текстовых блоков (например, фоновый пиксель, пиксель связной компоненты или проблемный пиксель связной компоненты) еще не определен. Например, модуль локального фильтра 114 может выявлять шумовые пиксели, исходя из модуля разницы яркости I в центральном пикселе из окрестности n×n, такой как 3×3 или 5×5, и некоторой статистики S о яркости соседних пикселей (например, abs(I-S)).[0035] In
Статистика S может представлять собой среднее значение или тип усреднения для яркости этих n×n пикселей. Модуль локального фильтра 114 может обнаруживать импульсы шума, если:Statistics S may be the average value or type of averaging for the brightness of these n × n pixels. The
[0036] [0036]
[0037] Модуль локального фильтра 114 может использовать один или несколько из следующих статистик, например:[0037] The
[0038] , серединную точку для максимальной и минимальной яркости в окрестности[0038] , midpoint for maximum and minimum brightness in the neighborhood
[0039] , медиана яркости в окрестности[0039] , the median of brightness in the neighborhood
[0040] , среднее значение яркости в окрестности[0040] , the average brightness in the neighborhood
[0041] На шаге 208 контраст локальных шумовых пикселей снижается до заданного уровня контраста в каждом блоке, содержащем текст. Например, модуль локального фильтра 114 может понижать контраст выявленных шумовых пикселей, вычисляя новую яркость пикселя I1 как сумму статистики S и половины контраста текста Ct, умноженной на знак разницы между яркостью I и статистикой S:[0041] In
[0042 ] [0042]
[0043] Новая яркость пикселя I1 представляет ограничение на степень деконтрастирования для локальных шумовых пикселей. В некоторых вариантах реализации новая яркость I1 использует оценку среднего значения контраста текста Ct в блоке для выполнения деконтрастирования локальных шумовых пикселей без повреждения структур текста в блоке. Другими словами, если контраст шумовых пикселей меньше половины контраста текста , деконтрастирование шумовых пикселей не производится. Если контраст шумовых пикселей больше половины контраста текста , контраст шумовых пикселей уменьшается до половины контраста текста .[0043] The new pixel luminance I 1 represents a restriction on the degree of decontrast for local noise pixels. In some embodiments, the new luminance I 1 uses an estimate of the average text contrast value C t in the block to perform de-contrasting of the local noise pixels without damaging the text structures in the block. In other words, if the contrast of the noise pixels is less than half the contrast of the text , noise pixels are not decontraining. If the contrast of the noise pixels is more than half the contrast of the text , noise pixel contrast is reduced to half the text contrast .
[0044] На шаге 209 в каждом блоке, содержащем текст, выбираются фоновые пиксели, пиксели связных компонент и проблемные пиксели связных компонент с неуверенной бинаризацией. Выбор фоновых пикселей, пикселей связных компонент и проблемных пикселей может производиться в текстовых блоках, где шумовые пиксели были уменьшены или деконтрастированы на шаге 208. Например, модуль локального фильтра 114 может выполнять фильтрацию серого изображения, используя медианный фильтр 3×3. Затем в окрестности m×m (например, 7×7) каждого пикселя модуль локального фильтра 114 вычисляет разницу между максимальной яркостью и минимальной яркостью в окрестности m×m. Если эта разница меньше b×Ct (где параметр b может быть 0.5<b<1), то модуль локального фильтра 114 определяет пиксель как пиксель фона. В противном случае модуль локального фильтра 114 определяет, что пиксель является частью связной компоненты (например, символа текста или части символа текста, который предстоит распознать посредством OCR, или другого объекта, присутствующего на электронном изображении 120, например, линии или формы).[0044] In
[0045] Вместо этого или в дополнение к этому модуль локального фильтра 114 может определить фоновые пиксели, пиксели связных компонент и проблемные пиксели связных компонент, используя бинаризацию и морфологическую эрозию (или дилатацию в случае инверсного текста). Модуль локального фильтра 114 применяет к бинаризованному изображению фильтр эрозия (или дилатация) 3×3 несколько раз, например, от двух до четырех раз (где количество применений может настраиваться). После нескольких применений фильтра модуль локального фильтра 114 определяет, что оставшиеся черные пиксели, например, - пиксели связных компонент, а белые пиксели - пиксели фона. В случае инверсного текста белые пиксели будут пикселями связных компонент, а черные пиксели - пикселями фона.[0045] Instead, or in addition to this, the
[0046] Модуль локального фильтра 114 выявляет как проблемные пиксели связных компонент те пиксели связных компонент, для которых яркость находится в некотором интервале вблизи порога бинаризации th текстового блока: th-delta<I<th+delta, где I - яркость пикселя, и delta<Ct/2 (т.е. это пикселей связных компонент с неуверенной бинаризацией). Модуль локального фильтра 114 может подбирать интервал delta, на основе обучающих изображений, как описано ниже.[0046] The
[0047] На шаге 210 измеряется дисперсия шума sigma2 фоновых пикселей в каждом блоке, содержащем текст, где sigma - стандартное отклонение. Например, для фоновых пикселей, выявленных на шаге 209, модуль локального фильтра 114 может вычислить дисперсию яркости I изображения, используя стандартную формулу: ×, где m - среднее значение яркости фоновых пикселей в блоке, N - общее число фоновых пикселей в блоке, и суммирование производится для всех фоновых пикселей (i,j) в блоке. [0047] At
[0048] На шаге 211 выполняется локально-адаптивная фильтрация выборочным усреднением с сохранением контуров для каждого блока, содержащего текст. Локально-адаптивная фильтрация может выполняться для текстовых блоков, шумовые пиксели в которых уменьшены или деконтрастированы. Локально-адаптивная фильтрация может предполагать использование различных значений параметров фильтра для фоновых пикселей, пикселей связных компонент и проблемных пикселей связных компонент. Параметры фильтра для проблемных пикселей связных компонент определяются исходя из голосования пикселей связных компонент с похожей структурой локальной окрестности.[0048] In
[0049] В первом примере модуль локального фильтра 114 может выполнять быстрый вариант локально-адаптивной фильтрации, использующий сигма-фильтрацию пикселей. В результате сигма-фильтрации модуль локального фильтра 114 выдает для центрального пикселя окрестности F×F с яркостью I среднюю яркость 〈I〉, усредненную по тем пикселям (i,j) окрестности F×F, которые удовлетворяют следующему условию, где I(i,j) - яркость каждого пикселя (i,j) окрестности F×F вокруг центрального пикселя:[0049] In the first example, the
[0050] I-k×sigma<I(i, j)<I+k×sigma[0050] I-k × sigma <I (i, j) <I + k × sigma
[0051] Модуль локального фильтра 114 может подобрать параметры F и k при обработке учебных изображений, как описано ниже. Модуль локального фильтра 114 может использовать этот вариант фильтрации, если вычислительные ресурсы (например, скорость процессора, доступная память или срок работы аккумулятора) ограничены, например, при обработке изображений на мобильном устройстве.[0051] The
[0052] О втором примере модуль локального фильтра 114 может выполнять более сложную версию локально-адаптивной фильтрации пикселей, используя различные параметры для трех типов пикселей (фоновых, связных компонент и проблемных для связных компонент). В некоторых вариантах реализации изображение обрабатывается модулем локального фильтра 114 или другим модулем в системе сервера 112. В более сложной версии модуль локального фильтра 114 может использовать управляемый сигма-фильтр для трех типов пикселей. Для определения соседних пикселей, участвующих в локальном усреднении, модуль локального фильтра 114 использует некоторую оценку неискаженного изображения, а не само значение яркости пикселей. В результате управляемой сигма-фильтрации в фоновых пикселях модуль локального фильтра 114 выдает для центрального пикселя окрестности F×F среднюю яркость 〈I〉, усредненную по тем пикселям (i,j) окрестности F×F, которые удовлетворяют условию, ранее описанному для быстрой версии локально-адаптивной фильтрации. Вместо этого или в дополнение к этому модуль локального фильтра 114 может использовать другой сглаживающий фильтр для определения результирующей яркости в центральных пикселях, которые относятся к типу фоновых пикселей.[0052] About the second example, the
[0053] В результате управляемой сигма-фильтрации в пикселях связных компонент модуль локального фильтра 114 выдает для центрального пикселя окрестности F×F среднюю яркость 〈I〉, усредненную по тем пикселям (i,j) окрестности F×F, которые удовлетворяют следующим условиям:[0053] As a result of the controlled sigma filtering in the pixels of the connected components, the
[0054] М1-k×sigma<I(i,j)<М1+k×sigma, если яркость центрального пикселя ниже порогового значения th, и[0054] M 1 -k × sigma <I (i, j) <M 1 + k × sigma if the brightness of the center pixel is below the threshold value th, and
[0055] М2-k×sigma<I(i,j)<М2+k×sigma, если яркость центрального пикселя не ниже (то есть выше или равна) порогового значения th.[0055] M 2 -k × sigma <I (i, j) <M 2 + k × sigma, if the brightness of the central pixel is not lower (that is, greater than or equal to) the threshold value th.
[0056] В результате управляемой сигма-фильтрации в проблемных пикселях связных компонент модуль локального фильтра 114 выдает для центрального пикселя окрестности F×F среднюю яркость 〈I〉, усредненную по тем пикселям (i,j) окрестности F×F, которые удовлетворяют следующим условиям:[0056] As a result of controlled sigma filtering in the problematic pixels of the connected components, the
[0057] М1-k×sigma<I(i,j)<М1+k×sigma (формула А), если для большинства пикселей связных компонент в блоке с похожей локальной окрестностью яркость этих пикселей ниже порогового значения th, и[0057] M 1 -k × sigma <I (i, j) <M 1 + k × sigma (formula A), if for most pixels of connected components in a block with a similar local neighborhood, the brightness of these pixels is below the threshold value th, and
[0058] М2-k×sigma<I(i,j)<М2+k×sigma (формула В), если для большинства пикселей связных компонент в блоке с похожей локальной окрестностью яркость этих пикселей не ниже (то есть выше или равна) порогового значения th.[0058] M 2 -k × sigma <I (i, j) <M 2 + k × sigma (formula B), if for most pixels of connected components in a block with a similar local neighborhood, the brightness of these pixels is not lower (that is, higher or equals) the threshold value th.
[0059] Для каждого проблемного пикселя связных компонент модуль локального фильтра 114 может выявить пиксели с похожей локальной окрестностью (то есть, подобные пиксели) внутри текстового блока N×N среди пикселей связных компонент. Модуль локального фильтра 114 может использовать бинарные локальные дескрипторы, такие как BRISK, для поиска похожих локальных окрестностей. Модуль локального фильтра 114 может вычислять дескрипторы для каждого пикселя связных компонент. Например, модуль локального фильтра 114 может определить, что проблемный пиксель и некоторый пиксель связной компоненты подобны, и этот пиксель связной компоненты может использоваться для выбора между формулами А и В. Если расстояние Хэмминга между локальными дескрипторами проблемного пикселя и пикселя связной компоненты меньше порогового значения D, пиксель связной компоненты считается подобным с проблемным пикселем, а значит, подобные пиксели связных компонент могут использоваться для выбора между формулами А и В указанных выше.[0059] For each problem pixel of the connected components, the
[0060] Модуль локального фильтра 114 может сначала выполнить приблизительный поиск похожих локальных окрестностей на уменьшенном изображении, например, на бинаризованном изображении, разрешение которого в два раза меньше. Модуль локального фильтра 114 может уменьшить разрешение изображения, используя билинейную интерполяцию. В некоторых вариантах реализации билинейная интерполяция может приводить к тому, что шум становится больше похожим на гауссов шум и менее коррелирован по пространству изображения, что может привести к более устойчивому поиску похожих локальных окрестностей пикселей.[0060] The
[0061] Модуль локального фильтра 114 может затем в исходном изображении выполнить уточнение области подобного пикселя, обнаруженного при уменьшенном разрешении. Вместо этого или в дополнение к этому модуль локального фильтра 114 может счесть каждый из пикселей этой окрестности подобным и решить, что все они могут участвовать в голосовании при выборе условий между формулами А и В. Модуль локального фильтра 114 может выполнить поиск пикселей связных компонент с похожими окрестностями и для голосования за формулы А и В на предварительно обработанном изображении. Предварительная обработка может включать, например, бинаризацию или использование сглаживающего фильтра с сохранением контуров.[0061] The
[0062] Вместо этого или к дополнение к этому при фильтрации в проблемных пикселях модуль локального фильтра 114 может использовать результат нелокального усреднения (non-local means) по найденным подобным пикселям вместо применения формул А и В. Модуль локального фильтра 114 может определить, что проблемный пиксель связной компоненты имеет слишком мало участников найденных для голосования (например, меньше определенного порогового значения V) или при голосовании выяснилось, что большинство незначительно превосходит меньшинство (например, менее чем на V1 процентов от количества участников голосования), и в этом случае вместо формул А и В модуль локального фильтра 114 может применять сглаживающий фильтр с сохранением контуров 3×3 к проблемному пикселю связной компоненты, например симметричный фильтр ближайшего соседа (SNN) или фильтр Кувахара-Нагао (Kuwahara-Nagao).[0062] Instead, or in addition to this, when filtering in problematic pixels,
[0063] В другом примере модуль локального фильтра 114 может применять оригинальный 3×3 сглаживающий фильтр с сохранением контуров. Модуль локального фильтра 114 может выполнять усреднение в окне 3×3 вдоль одного из четырех направлений, т.е. вертикального, горизонтального или одному из двух диагональных триплетов, в окрестности проблемного пикселя, включая центральный пиксель. Модуль локального фильтра 114 может выбирать направление сглаживания, исходя из анализа гистограммы направлений градиента с четырьмя уровнями квантования в окне 3×3. Модуль локального фильтра 114 может использовать бин с максимальным значением гистограммы для оценки направления градиента в центральном элементе, если значение гистограммы для него превышает пороговое значение в пять девятых или шесть девятых, например. Модуль локального фильтра 114 может выполнять сглаживание на триплете пикселей, перпендикулярном вычисленному направлению градиента. Если модуль локального фильтра 114 обнаруживает, что максимальное значение гистограммы не превосходит пороговое значение, модуль локального фильтра 114 может предоставить в качестве результата фильтрации исходное значение центрального пикселя. В некоторых вариантах реализации модуль локального фильтра 114 может вычислять градиент, используя оператор Собеля. Кроме того, модуль локального фильтра 114 может несколько раз применять этот фильтр к одним и тем же проблемным пикселям.[0063] In another example, the
[0064] На шаге 212 локальной контраст для слабоконтрастных пикселей приводится к заданному значению в каждом блоке, содержащем текст. Например, если модуль локального фильтра 114 определяет слабоконтрастные пиксели в связных компонентах как удовлетворяющие условию , где с<1, то модуль локального фильтра 114 повышает контраст выявленных слабо контрастных пикселей в связных компонентах до заданного значения. Модуль локального фильтра 114 вычисляет новое значение яркости пикселя следующим образом:[0064] In step 212, the local contrast for low-contrast pixels is reduced to a predetermined value in each block containing text. For example, if the
[0065] [0065]
[0066] Модуль локального фильтра 114 может объединять результаты локально-адаптивной фильтрации в тех областях, где блоки перекрываются. Если модуль локального фильтра 114 разбивает изображение на перекрывающиеся блоки, модуль локального фильтра 114 может объединять результаты, обеспечивая незаметный переход между блоками в тех областях, где эти блоки перекрываются. Модуль локального фильтра 114 может объединять результаты локально-адаптивной фильтрации соседних перекрывающихся блоков 1 и 2 умножая значения яркости I1 и I2 соответствующих пикселей блоков 1 и 2 на соответствующие веса и складывая полученные значения так, что значение для отфильтрованного изображения в перекрывающейся области будет равно:[0066] The
[0067] [0067]
[0068] На ФИГ. 3 представлена схема примера системы 300 для объединения значений яркости пикселей из перекрывающихся частей 304 нескольких текстовых блоков 302а-b.[0068] In FIG. 3 is a diagram of an
Перекрывающаяся часть 304 представляет собой область, для которой вычисления яркости, описанные ранее, были выполнены отдельно для первого текстового блока 302а и второго текстового блока 302b. Это может привести к вычислению нескольких значений яркости в одном месте расположения или для одного пикселя на электронном изображении 120, например, для различных пикселей 308а-с.На первой границе 306а перекрывающейся части 304 модуль локального фильтра 114 может использовать значение р=1, в результате чего формула С сократится до яркости I1 пикселя из блока 1, а яркость I2 пикселя из блока 2 использоваться не будет. На второй границе 306b перекрывающейся части 304 модуль локального фильтра 114 может использовать значение р=0, в результате чего формула С сократится до яркости I2 пикселя из блока 2, а яркость I1 пикселя из блока 1 использоваться не будет. Модуль локального фильтра 114 может изменять значение p линейно от единицы до нуля на протяжении перекрывающейся части 304 от первого края 306а до второго края 306b. Таким образом, модуль локального фильтра 114 может использовать значение p=1/2 на центральной линии 310 перекрывающейся области 304, в результате для вычисления объединенного значения яркости пикселя 308 с электронного изображения 120 будет взята половина яркости I1 пикселя из блока 1 и половина яркости I2 пикселя из блока 2.The overlapping
[0069] Пользовательское электронное устройство 102 и (или) серверная система 112 могут содержать обучающий модуль 122. Обучающий модуль 122 может настраивать параметры для процесса 200, подбирая параметры таким образом, чтобы, при использовании на обучающей выборке сильно зашумленных изображений физических документов, подобранные параметры обеспечивали высокую или максимально возможную точность OCR для имеющейся обучающей выборки с шумом на изображениях. В некоторых вариантах реализации обучающий модуль 122 может входить в состав или иметь доступ к модулю локального фильтра 114 для выполнения обучения параметров. Обучающий модуль 122 может использовать базу данных зашумленных текстовых изображений, таких, что отношение сигнал-шум в текстовых блоках на зашумленных изображений менее четырех. Формула может использоваться для оценки отношения сигнал-шум. Альтернативно, формула R=Ct/sigma может использоваться для оценки отношения сигнал-шум. В некоторых вариантах реализации обучающий модуль 122 может использовать изображения с R<4 как обучающие изображения для подбора параметров.[0069] The user
[0070] Обучающий модуль 122 снабжен реальным текстом зашумленных изображений. Например, реальный текст зашумленных изображений может храниться в базе данных. Обучающий модуль 122 может сравнивать текст, полученный в результате OCR, выполняемого на улучшенных обучающих изображениях, с реальным текстом, определяя точность OCR, например, процент ошибок в распознанном тексте (т.е. общее количество ошибок в символах распознанного текста, деленное на общее количество распознаваемых символов). Модуль локального фильтра 114 может выполнять улучшение обучающих изображений, а модуль OCR 113, 118 может выполнять OCR улучшенных обучающих изображений, используя множество различных значений параметров. Обучающий модуль 122 может подбирать оптимальные значения параметров, включая N, n, m, b, с, тип статистики S, k, F, D, delta и другие параметры фильтра, что позволяет получить максимальную точность OCR между результатами, полученными при OCR улучшенных обучающих изображений и реальным текстом обучающих изображений.[0070] The
[0071] Обучающий модуль 122 может использовать примерный начальный диапазон возможных значений для каждого из параметров. Начальный диапазон может быть задан вручную пользователем обучающего модуля 122. Диапазоны могут выбираться с учетом априорных знаний о статистиках различных характеристик текста и шума. Диапазоны могут быть, например, такими:[0071] The
[0072] N: от 5% до 15% или от 2 до 6 строк[0072] N: from 5% to 15% or from 2 to 6 lines
[0073] k: от 1 до 5[0073] k: 1 to 5
[0074] F: от 11 до 35 пикселей[0074] F: 11 to 35 pixels
[0075] D: от 50 до 150[0075] D: from 50 to 150
[0076] с: от 0.5 до 0.95[0076] s: from 0.5 to 0.95
[0077] 0.5<b<1[0077] 0.5 <b <1
[0078] delta=q*Ct/2, где q: от 0.05 до 0.5[0078] delta = q * C t / 2, where q: from 0.05 to 0.5
[0079] n: 3, 5, 7[0079] n: 3, 5, 7
[0080] m: 5, 7, 9, 11, 13, 15[0080] m: 5, 7, 9, 11, 13, 15
[0081] S: одна из трех указанных выше формул[0081] S: one of the three above formulas
[0082] В некоторых вариантах осуществления обучающий модуль 122 определяет значение для каждого из параметров выше в перечисленном порядке, меняя значения каждого из параметров в разрешенном диапазоне. Обучающий модуль 122 может фиксировать найденное оптимальное значение параметра, а затем переходить к следующему параметру в списке. Обучающий модуль 122 может изначально использовать значение из середины допустимого диапазона для каждого параметра перед изменением значений параметра.[0082] In some embodiments, the
[0083] Например, обучающий модуль 122 может начать с определения оптимального значения Nopt для N. Обучающий модуль 122 определяет процент ошибок OCR, выполненном на улучшенных обучающих изображений, для значений N в указанном диапазоне (например, с некоторым приращением, таким как 1%, одна строка или половина строки). Обучающий модуль 122 может задать значения других параметров из середины диапазонов этих параметров. Обучающий модуль 122 сравнивает итоговый процент ошибок для каждого из значений N, чтобы определить, какое значение N обеспечивает наименьший процент ошибок. Затем обучающий модуль 122 фиксирует значение N на полученном значении Nopt и продолжает работу, изменяя следующий параметр, например, k, оставляя значения других необработанных параметров на средних значениях. Обучающий модуль 122 определяет процент ошибок OCR, выполненном на улучшенных обучающих изображений, для значений k в указанном диапазоне (например, с приращением 0,2) и сравнивает процент ошибок, чтобы определить, какое значение k дает меньше всего ошибок.[0083] For example,
[0084] Процесс может продолжаться, пока обучающий модуль 122 не определит значения для всех параметров. В некоторых вариантах осуществления, если оптимальное значение параметра находится на границе диапазона параметра, то обучающий модуль 122 может расширить диапазон на его границе, пока расширенный диапазон не будет включать значение параметра, которое обеспечивает наименьший процент ошибок.[0084] The process may continue until the
[0085] В некоторых вариантах осуществления для пикселей связных компонент с неуверенной бинаризацией модуль локального фильтра 114 может определять яркость пикселей с неуверенной бинаризацией голосованием среди пикселей связных компонент блока, который имеет похожую структуру локальной окрестности. Модуль локального фильтра 114 может выполнять это действие, для исправления результатов бинаризации пикселей связных компонент, имеющих неуверенную бинаризацию, и получить улучшенное бинаризованное изображение. Модуль локального фильтра 114 может определять яркость проблемных пикселей связных компонент на бинаризованном изображении голосованием среди пикселей связных компонент блока, который имеет похожую структуру локальной окрестности. Модуль локального фильтра 114 может выполнять обработку аналогично шагу 211, где на сером изображении выполнялось голосование для вычисления значения 〈I〉 для проблемных пикселей связных компонент, только теперь модуль локального фильтра 114 выполняет эту обработку на бинаризованном изображении, а не на сером изображении. Описанный выше способ позволяет получить улучшенное изображение (то есть с улучшенным контрастом и (или) уменьшенным шумом), которое может обеспечить большую точность при выполнении OCR на улучшенном изображении. Создание улучшенного изображения может использовать меньше ресурсов системы (например, меньше памяти, места для хранения данных и (или) циклов обрабатывающего устройства), чем стандартные техники улучшения изображения, а также может обеспечить более точные результаты, например, даже на мобильных устройствах.[0085] In some embodiments, for pixels of connected components with uncertain binarization, the
[0086] Для упрощения объяснения процессы в настоящем описании изобретения изображены и описаны в виде последовательности действий. Однако действия в соответствии с настоящим описанием изобретения могут выполняться в различном порядке и (или) одновременно с другими действиями, не представленными и не описанными в настоящем документе. Кроме того, не все проиллюстрированные действия могут быть необходимы для реализации процессов в соответствии с настоящим описанием изобретения. Кроме того, специалистам в этой области техники будет понятно, что эти процессы могут быть представлены и другим образом - в виде последовательности взаимосвязанных состояний через диаграмму состояний или событий. Кроме того, следует учесть, что процессы, раскрываемые в данном описании, могут храниться в изделии для упрощения транспортировки и передачи этих процессов в вычислительные устройства. Термин «изделие» в настоящем документе означает компьютерную программу, доступную посредством любого машиночитаемого устройства или носителя данных.[0086] To simplify the explanation of the processes in the present description of the invention are depicted and described as a sequence of actions. However, the actions in accordance with the present description of the invention can be performed in a different order and (or) simultaneously with other actions not presented and not described in this document. In addition, not all illustrated acts may be necessary to implement processes in accordance with the present description of the invention. In addition, it will be understood by those skilled in the art that these processes can also be represented in another way — as a sequence of interrelated states through a state diagram or events. In addition, it should be noted that the processes disclosed in this description can be stored in the product to simplify the transportation and transfer of these processes to computing devices. The term “product” as used herein means a computer program accessible by any computer-readable device or storage medium.
[0087] На ФИГ. 4 приведена схема, иллюстрирующая пример машины в виде вычислительной системы 400. Вычислительная система 400 выполняет один или более наборов инструкций 426, которые заставляют машину выполнять одну или более рассматриваемых в этом документе методологий. Эта машина может работать в качестве сервера или клиентского устройства в сетевой среде «клиент-сервер» или как одноранговая машина в одноранговой (или распределенной) сети. Такой машиной может быть персональный компьютер (ПК), планшетный ПК, телевизионная приставка (STB), карманный персональный компьютер (PDA), сотовый телефон, веб-устройство, сервер, маршрутизатор, коммутатор или мост либо любая машина, которая может выполнять набор команд (последовательных или иных), определяющих действия, которые будут предприняты этой машиной. В дальнейшем, несмотря на то что на рисунке изображена одна машина, термин «машина» также будет включать в себя любые наборы машин, которые по отдельности или совместно выполняют набор (или несколько наборов) инструкций 426, осуществляя любую одну или более рассматриваемых в этом документе методологий.[0087] In FIG. 4 is a diagram illustrating an example machine in the form of a
[0088] Вычислительная система 400 содержит процессор 402, основное запоминающее устройство 404 (например, постоянное запоминающее устройство (ПЗУ), флеш-память, динамическое оперативное запоминающее устройство (ДОЗУ) (например, синхронное ДОЗУ (СДОЗУ) или Rambus ДОЗУ (РДОЗУ) и т.д.), статическое запоминающее устройство 406 (например, флеш-память, статическое оперативное запоминающее устройство (СОЗУ) и т.д.) и устройство хранения данных 416, которые могут обмениваться информацией друг с другом с помощью шины 408.[0088] The
[0089] Процессор 402 представляет собой одно или более обрабатывающих устройств общего назначения, например, микропроцессоров, центральных процессоров или аналогичных устройств. В частности, процессор 402 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами сверхбольшой длины (VLIW), процессор, реализующий другой набор команд, или процессоры, реализующие комбинацию наборов команд. Процессор 402 также может представлять собой одно или более устройств обработки специального назначения, например интегральную микросхему (ASIC), программируемую пользователем логическую интегральную схему (FPGA), процессор цифровой обработки сигналов (DSP), сетевой процессор и т.д. Процессор 402 реализован с возможностью выполнения команд модуля локального фильтра 114, обучающего модуля 122, модуля OCR 113, 118, пользовательского электронного устройства 102 и (или) серверной системой 112 для выполнения операций и шагов, рассматриваемых в этом документе.[0089] The
[0090] Вычислительная система 400 может также содержать устройство сетевого интерфейса 422, которое обеспечивает связь с другими машинами по сети 418, например, по локальной сети (LAN), корпоративной сети, сети экстранет или сети Интернет. Вычислительная система 400 также может включать блок видео дисплея 410 (например, жидкокристаллический дисплей (LCD) или электронно-лучевой монитор (CRT)), алфавитно-цифровое устройство ввода 412 (например, клавиатуру), устройство управления курсором 414 (например, мышь) и устройство генерации сигналов 420 (например, динамик).[0090]
[0091] Устройство хранения данных 416 может включать машиночитаемый носитель данных 424, на котором хранятся наборы инструкций 426 для модуля локального фильтра 114, обучающего модуля 122, модуля OCR 113, 118, пользовательского электронного устройства 102 и (или) серверной системы 112, отражающие одну или более методологий или функций, описанных в данном документе. Наборы инструкций 426 для модуля локального фильтра 114, обучающего модуля 122, модуля OCR 113, 118, пользовательского электронного устройства 102 и (или) серверной системы 112 могут также располагаться полностью или как минимум частично в основном запоминающем устройстве 404 и/или в процессоре 402 во время их выполнения вычислительной системой 400, основное запоминающее устройство 404 и процессор 402 также формируют машиночитаемый носитель данных. Наборы инструкций 426 могут также передаваться или приниматься по сети 418 с помощью устройства сетевого интерфейса 422.[0091] The
[0092] В то время как пример машиночитаемого носителя данных 424 показан как единый носитель, термин «машиночитаемый носитель данных» следует понимать как единый носитель либо множество таких носителей (например, централизованную или распределенную базу данных и/или соответствующие кэши и серверы), в которых хранятся наборы команд 426. Термин «машиночитаемый носитель данных» может включать любой носитель, который может хранить, кодировать или переносить набор команд для выполнения машиной и который обеспечивает выполнение машиной любой одной или более методологий настоящего изобретения. Термин «машиночитаемый носитель данных» может включать, в частности, устройства твердотельной памяти, оптические и магнитные носители.[0092] While the example of computer-
[0093] В приведенном выше описании изложены многочисленные детали. Однако любому специалисту в этой области техники, ознакомившемуся с этим описанием, должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих конкретных деталей. В некоторых случаях хорошо известные структуры и устройства показаны в виде блок-схем без детализации, чтобы не усложнять описание настоящего изобретения.[0093] In the above description, numerous details are set forth. However, it should be apparent to any person skilled in the art who has read this description that the present invention can be practiced without these specific details. In some cases, well-known structures and devices are shown in block diagrams without detail, so as not to complicate the description of the present invention.
[0094] Некоторые части описания предпочтительных вариантов реализации изобретения представлены в виде алгоритмов и символического представления операций с битами данных в запоминающем устройстве компьютера. Такие описания и представления алгоритмов являются средством, используемым специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. Приведенный здесь (и в целом) алгоритм сконструирован как непротиворечивая последовательность шагов, ведущих к нужному результату. Эти шаги требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и выполнять другие манипуляции. Иногда удобно, прежде всего для обычного использования, описывать эти сигналы в виде битов, значений, элементов, символов, терминов, цифр и т.д.[0094] Some parts of the description of preferred embodiments of the invention are presented in the form of algorithms and a symbolic representation of operations with data bits in a computer storage device. Such descriptions and representations of algorithms are the means used by specialists in the field of data processing to most effectively transfer the essence of their work to other specialists in this field. The algorithm presented here (and in general) is designed as a consistent sequence of steps leading to the desired result. These steps require physical manipulation of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared and other manipulations performed. Sometimes it is convenient, first of all for ordinary use, to describe these signals in the form of bits, values, elements, symbols, terms, numbers, etc.
[0095] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и что они являются лишь удобными обозначениями, применяемыми к этим величинам. Если не указано иное, как видно из последующего обсуждения, следует понимать, что во всем описании такие термины, как «определение», «предоставление», «активация», «нахождение», «выбор» и т.д., относятся к операциям и процессам вычислительной системы или подобного электронного вычислительного устройства, которые управляют данными, представленными в виде физических (электронных) величин в регистрах и запоминающих устройствах вычислительной системы, и преобразуют их в другие данные, аналогичным образом представленные в виде физических величин в запоминающих устройствах или регистрах вычислительной системы либо в других подобных устройствах хранения, передачи или отображения информации.[0095] However, it should be borne in mind that all of these and similar terms should be associated with the corresponding physical quantities and that they are only convenient designations applicable to these quantities. Unless otherwise indicated, as can be seen from the discussion that follows, it should be understood that throughout the description, terms such as “definition”, “provision”, “activation”, “finding”, “choice”, etc., refer to operations and processes of a computing system or similar electronic computing device that control data represented as physical (electronic) quantities in registers and storage devices of a computing system and convert them into other data similarly represented as physical quantities in storage devices or computing registers systems or other similar devices for storing, transmitting or displaying information.
[0096] Настоящее изобретение также относится к устройству для выполнения операций, описанных в настоящем документе. Такое устройство может быть специально сконструировано для требуемых целей, или оно может содержать универсальный компьютер, который избирательно активируется или дополнительно настраивается с помощью компьютерной программы, хранящейся в компьютере. Подобная компьютерная программа может храниться на машиночитаемом носителе данных, включая, помимо прочего, любые типы дисков, например гибкие диски, оптические диски, компакт-диски, не предназначенные для перезаписи (CD-ROM), магнитно-оптические диски, постоянные запоминающие устройства (ROM), оперативные запоминающие устройства (RAM), стираемые программируемые постоянные запоминающие устройства (EPROM), стираемые электрическим сигналом программируемые постоянные запоминающие устройства (EEPROM), магнитные или оптические карты или другие типы носителей, используемые для хранения инструкций в электронном виде.[0096] The present invention also relates to a device for performing the operations described herein. Such a device can be specially designed for the required purposes, or it can contain a universal computer that is selectively activated or optionally configured using a computer program stored in the computer. Such a computer program may be stored on a computer-readable storage medium, including but not limited to any type of disc, such as floppy disks, optical discs, non-rewritable compact discs (CD-ROMs), optical magnetic disks, read-only memory devices (ROMs) ), random access memory (RAM), erasable programmable read-only memory (EPROM), electric-erasable programmable read-only memory (EEPROM), magnetic or optical cards or other types of media used to store instructions in electronic form.
[0097] Слова «пример» или «примерный» используются здесь для обозначения использования в качестве примера, отдельного случая или иллюстрации. Любой вариант реализации или конструкция, описанная в настоящем документе как «пример», не должны обязательно рассматриваться как предпочтительные или преимущественные по сравнению с другими вариантами реализации или конструкциями. Слово «пример» лишь предполагает, что идея изобретения представляется конкретным образом. В этой заявке термин «или» предназначен для обозначения включающего «или», а не исключающего «или». Если не указано иное или не очевидно из контекста, то «X включает А или В» используется для обозначения любой из естественных включающих перестановок. То есть если X включает в себя А; X включает в себя В; или X включает и А, и В, то высказывание «X включает в себя А или В» является истинным в любом из указанных выше случаев. Использование терминов «вариант осуществления» или «один вариант осуществления» либо «реализация» или «одна реализация» не означает одинаковый вариант реализации, если такое описание не приложено. В описании термины «первый», «второй», «третий», «четвертый» и т.д. используются как метки для обозначения различных элементов, они не обязательно имеют смысл порядка в соответствии с их числовым обозначением.[0097] The words “example” or “exemplary” are used herein to mean use as an example, individual case, or illustration. Any embodiment or design described herein as an “example” should not necessarily be construed as preferred or advantageous over other embodiments or designs. The word “example” only assumes that the idea of the invention is presented in a concrete way. In this application, the term “or” is intended to mean an inclusive “or” and not an exclusive “or”. Unless otherwise indicated or obvious from the context, “X includes A or B” is used to mean any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then the statement “X includes A or B” is true in any of the above cases. The use of the terms “embodiment” or “one embodiment” or “implementation” or “one implementation” does not mean the same embodiment if such a description is not attached. In the description, the terms “first”, “second”, “third”, “fourth”, etc. are used as labels to indicate various elements; they do not necessarily have a sense of order according to their numerical designation.
[0098] Следует понимать, что приведенное выше описание носит иллюстративный, а не ограничительный характер. Другие варианты реализации будут очевидны специалистам в данной области техники после прочтения и понимания приведенного выше описания. Поэтому область применения изобретения должна определяться с учетом прилагаемой формулы изобретения, а также всех областей применения эквивалентных способов, которые охватывает формула изобретения.[0098] It should be understood that the above description is illustrative and not restrictive. Other embodiments will be apparent to those skilled in the art after reading and understanding the above description. Therefore, the scope of the invention should be determined taking into account the attached claims, as well as all areas of application of equivalent methods that are covered by the claims.
Claims (48)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017143913A RU2721188C2 (en) | 2017-12-14 | 2017-12-14 | Improved contrast and noise reduction on images obtained from cameras |
US15/851,344 US10552949B2 (en) | 2017-12-14 | 2017-12-21 | Contrast enhancement and reduction of noise in images from cameras |
US16/780,874 US11107202B2 (en) | 2017-12-14 | 2020-02-03 | Contrast enhancement and reduction of noise in images from cameras |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017143913A RU2721188C2 (en) | 2017-12-14 | 2017-12-14 | Improved contrast and noise reduction on images obtained from cameras |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2017143913A RU2017143913A (en) | 2019-06-17 |
RU2017143913A3 RU2017143913A3 (en) | 2020-02-28 |
RU2721188C2 true RU2721188C2 (en) | 2020-05-18 |
Family
ID=66814556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017143913A RU2721188C2 (en) | 2017-12-14 | 2017-12-14 | Improved contrast and noise reduction on images obtained from cameras |
Country Status (2)
Country | Link |
---|---|
US (2) | US10552949B2 (en) |
RU (1) | RU2721188C2 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2721188C2 (en) * | 2017-12-14 | 2020-05-18 | Общество с ограниченной ответственностью "Аби Продакшн" | Improved contrast and noise reduction on images obtained from cameras |
US10848772B2 (en) * | 2018-09-28 | 2020-11-24 | Ati Technologies Ulc | Histogram-based edge/text detection |
US11272185B2 (en) | 2018-10-31 | 2022-03-08 | Ati Technologies Ulc | Hierarchical measurement of spatial activity for text/edge detection |
US11544510B2 (en) * | 2019-07-11 | 2023-01-03 | Comscore, Inc. | System and method for multi-modal image classification |
US11227153B2 (en) * | 2019-12-11 | 2022-01-18 | Optum Technology, Inc. | Automated systems and methods for identifying fields and regions of interest within a document image |
US11210507B2 (en) | 2019-12-11 | 2021-12-28 | Optum Technology, Inc. | Automated systems and methods for identifying fields and regions of interest within a document image |
CN111583157B (en) * | 2020-05-13 | 2023-06-02 | 杭州睿琪软件有限公司 | Image processing method, system and computer readable storage medium |
US11580623B1 (en) * | 2022-03-10 | 2023-02-14 | Freedom Scientific, Inc. | High efficiency dynamic contrast processing |
CN115034994B (en) * | 2022-06-17 | 2024-11-22 | 深圳市凯润智能照明有限公司 | Method and system for regional color processing based on video content |
CN116363126B (en) * | 2023-05-30 | 2023-08-22 | 东莞市立时电子有限公司 | Welding quality detection method for data line USB plug |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799111A (en) * | 1991-06-14 | 1998-08-25 | D.V.P. Technologies, Ltd. | Apparatus and methods for smoothing images |
US20050254649A1 (en) * | 1996-01-30 | 2005-11-17 | Demos Gary A | Encrypted and watermarked temporal and resolution layering in advanced television |
US20080317358A1 (en) * | 2007-06-25 | 2008-12-25 | Xerox Corporation | Class-based image enhancement system |
RU2010103218A (en) * | 2007-07-02 | 2011-08-10 | Моторола, Инк. (US) | INTELLIGENT GRADIENT NOISE SUPPRESSION SYSTEM |
KR20120062940A (en) * | 2009-10-20 | 2012-06-14 | 애플 인크. | System and method for detecting and correcting defective pixels in an image sensor |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212741A (en) * | 1992-01-21 | 1993-05-18 | Eastman Kodak Company | Preprocessing of dot-matrix/ink-jet printed text for Optical Character Recognition |
WO2001035677A1 (en) | 1999-11-11 | 2001-05-17 | Stmicroelectronics Asia Pacific Pte Ltd. | Video signal noise level estimator |
US6778700B2 (en) * | 2001-03-14 | 2004-08-17 | Electronics For Imaging, Inc. | Method and apparatus for text detection |
US8018504B2 (en) | 2006-12-22 | 2011-09-13 | Eastman Kodak Company | Reduction of position dependent noise in a digital image |
US8086007B2 (en) | 2007-10-18 | 2011-12-27 | Siemens Aktiengesellschaft | Method and system for human vision model guided medical image quality assessment |
JP5060447B2 (en) | 2008-10-07 | 2012-10-31 | 株式会社東芝 | Noise cancellation processing circuit and solid-state imaging device |
TWI501628B (en) | 2013-01-08 | 2015-09-21 | Novatek Microelectronics Corp | Noise estimation apparatus and method thereof |
US9646202B2 (en) * | 2015-01-16 | 2017-05-09 | Sony Corporation | Image processing system for cluttered scenes and method of operation thereof |
US10026004B2 (en) * | 2016-07-08 | 2018-07-17 | Conduent Business Services, Llc | Shadow detection and removal in license plate images |
US9973654B1 (en) * | 2017-04-04 | 2018-05-15 | Xerox Corporation | Methods and devices for enhancing edges of a graphic object |
RU2721188C2 (en) * | 2017-12-14 | 2020-05-18 | Общество с ограниченной ответственностью "Аби Продакшн" | Improved contrast and noise reduction on images obtained from cameras |
-
2017
- 2017-12-14 RU RU2017143913A patent/RU2721188C2/en active
- 2017-12-21 US US15/851,344 patent/US10552949B2/en not_active Expired - Fee Related
-
2020
- 2020-02-03 US US16/780,874 patent/US11107202B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799111A (en) * | 1991-06-14 | 1998-08-25 | D.V.P. Technologies, Ltd. | Apparatus and methods for smoothing images |
US20050254649A1 (en) * | 1996-01-30 | 2005-11-17 | Demos Gary A | Encrypted and watermarked temporal and resolution layering in advanced television |
US20080317358A1 (en) * | 2007-06-25 | 2008-12-25 | Xerox Corporation | Class-based image enhancement system |
RU2010103218A (en) * | 2007-07-02 | 2011-08-10 | Моторола, Инк. (US) | INTELLIGENT GRADIENT NOISE SUPPRESSION SYSTEM |
KR20120062940A (en) * | 2009-10-20 | 2012-06-14 | 애플 인크. | System and method for detecting and correcting defective pixels in an image sensor |
Also Published As
Publication number | Publication date |
---|---|
US20190188835A1 (en) | 2019-06-20 |
RU2017143913A3 (en) | 2020-02-28 |
US20200175658A1 (en) | 2020-06-04 |
US10552949B2 (en) | 2020-02-04 |
US11107202B2 (en) | 2021-08-31 |
RU2017143913A (en) | 2019-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2721188C2 (en) | Improved contrast and noise reduction on images obtained from cameras | |
EP1910994B1 (en) | Binarization of an image | |
WO2017121018A1 (en) | Method and apparatus for processing two-dimensional code image, and terminal and storage medium | |
US20050249429A1 (en) | Method, apparatus, and program for image processing | |
KR100485594B1 (en) | A method for removing noise in image and a system thereof | |
CN108230333B (en) | Image processing method, image processing apparatus, computer program, storage medium, and electronic device | |
US10169673B2 (en) | Region-of-interest detection apparatus, region-of-interest detection method, and recording medium | |
US8594446B2 (en) | Method for enhancing a digitized document | |
AU2016225841A1 (en) | Predicting accuracy of object recognition in a stitched image | |
KR101011908B1 (en) | Noise reduction method of digital image and image processing device using same | |
JP2013171469A (en) | Image processing apparatus, binarization threshold calculation method, and computer program | |
CN113129298A (en) | Definition recognition method of text image | |
CN114596210A (en) | Noise estimation method, device, terminal equipment and computer readable storage medium | |
AU2018229526B2 (en) | Recursive contour merging based detection of text area in an image | |
CN114821596A (en) | Text recognition method and device, electronic equipment and medium | |
McCrackin et al. | Strategic image denoising using a support vector machine with seam energy and saliency features | |
CN112233134B (en) | Control segmentation method and device, storage medium, and electronic device | |
Konya et al. | Adaptive methods for robust document image understanding | |
CN115880300B (en) | Image blurring detection method, device, electronic equipment and storage medium | |
US10699381B2 (en) | Text enhancement using a binary image generated with a grid-based grayscale-conversion filter | |
JP6194677B2 (en) | Image processing apparatus and program | |
Huang et al. | Apply Adaptive Threshold Operation and Conditional Connected-component to Image Text Recognition | |
CN117689729A (en) | Page control positioning method, device, equipment and medium | |
CN117275006A (en) | Image processing method and device, electronic equipment and storage medium | |
Wang | AttnEdge: an enhanced edge detection method based on self-attention mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
QB4A | Licence on use of patent |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20201211 |
|
QC41 | Official registration of the termination of the licence agreement or other agreements on the disposal of an exclusive right |
Free format text: LICENCE FORMERLY AGREED ON 20201211 Effective date: 20220311 |