BRPI0614403A2 - método para binarizar uma imagem; alinhamento de chips para processamento de imagem; dispositivo eletrÈnico; e produto de programa de software - Google Patents
método para binarizar uma imagem; alinhamento de chips para processamento de imagem; dispositivo eletrÈnico; e produto de programa de software Download PDFInfo
- Publication number
- BRPI0614403A2 BRPI0614403A2 BRPI0614403-9A BRPI0614403A BRPI0614403A2 BR PI0614403 A2 BRPI0614403 A2 BR PI0614403A2 BR PI0614403 A BRPI0614403 A BR PI0614403A BR PI0614403 A2 BRPI0614403 A2 BR PI0614403A2
- Authority
- BR
- Brazil
- Prior art keywords
- image
- images
- pixel
- semi
- binarization
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- 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/162—Quantising the image signal
-
- 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/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
- G06T2207/20012—Locally adaptive
-
- 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/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- 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)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
MéTODO PARA BINARIZAR UMA IMAGEM; ALINHAMENTO DE CHIPS PARA PROCESSAMENTO DE IMAGEM; DISPOSITIVO ELETRÈNICO; E PRODUTO DE PROGRAMA DE SOFTWARE. Para binarizar uma imagem, que é composta de pixels, a imagem é dividida em duas semi-imagens. Parâmetros locais são inicializados com base nos valores que se situam numa área adjacente a uma fronteira que separa assemi- imagens. A binarização é então realizada separadamente para cada uma das semi-imagens utilizando um limiar adaptativo, em que o limiar adaptativo é calculado para cada uma das semi-imagens procedentes dos parâmetros locais inicializados.
Description
"MÉTODO PARA BINARIZAR UMA IMAGEM; ALINHAMENTO DE CHIPS PARAPROCESSAMENTO DE IMAGEM; DISPOSITIVO ELETRÔNICO; E PRODUTODE PROGRAMA DE SOFTWARE".
Campo da Invenção
A invenção está relacionada a um método para binarizar uma imagem, a umalinhamento de chips para processamento de imagem e um dispositivo eletrônicopara suportar uma binarização de uma imagem, e a um programa de software, noqual um código software para binarizar uma imagem é armazenado.
Fundamentos da Invenção
A informação, muitas das vezes, é apresentada como uma imagem colorida ouuma imagem em escalas de cinza, apesar de seu conteúdo poder ser apresentadocom uma imagem binária. Exemplos de tal informação são documentos impressos,notas manuscritas, códigos de barras, algumas das informações exibidas nas telasde TV tanto em tele-texto e em tela normal, algumas apresentações em monitoresde computador, etc.
Em algumas situações, pode- se desejar converter uma tal imagem em cores ouem escala de cinza por meio de binarização na forma de uma imagem de valorbinário, por exemplo, a fim de facilitar a arlálise de um documento ou para reduzira quantidade de dados. Na maioria dos sistemas de captura de imagens dedocumentos, um processo de binarização tipicamente precede procedimentos deanálise do documento.
Usualmente, binarização compreende comparar um valor original de cada pixel deuma imagem com um valor limiar. Um valor binário para esse pixel pode então serajustado a um primeiro valor, por exemplo, para preto, no caso do limiar serexcedido, e a um segundo valor, por exemplo, para branco, de outro modo. Ospixels de um valor, por exemplo, todos os pixels pretos, podem então representarobjetos identificados, enquanto que os pixelsdo outro valor, por exemplo, todos ospixels brancos, podem representar o fundo secundário.
A tarefa de implementar a binarização de modo eficiente pode ser bastantecomplexa. Freqüentemente, a dimensão física de um texto impresso que preciseser binarizado quanto a uma aplicação de processamento de documento variasignificativamente, ainda que na mesma página. Também, se a binarização denotas manuscritas é para ser possibilitada, a complexidade aumenta.Adicionalmente, a maioria dos sistemas convencionais de reconhecimento deobjetos foram desenvolvidos especificamente para imagens de documentosadquiridas por um scanner. Todavia, a popularidade das câmeras digitais écrescente. Também, os telefones móveis e outros dispositivos moveis sãoequipados a um alcance crescente com componentes de câmera embutidos oucom uma instrução para conectar um dispositivo acessório com componentes decâmera, o que permite tirar fotos e gravar filmes. As câmeras digitais ou oscomponentes de câmeras embutidos podem ser assim usados como um novo tipode interfaces de entrada, por exemplo, para uma funcionalidade de varredura decaracteres e de reconhecimento. Portanto, uma necessidade quanto àpossibilidade de processar imagens da câmera também está ganhando maisimportância. De modo vantajoso, o dispositivo móvel envolvido propriamentè estáequipado com dispositivos de binarização de imagens.
Um objeto numa imagem de câmera é mais difícil de identificar que um objetonuma imagem de scaner. O motivo é que com uma câmera, é mais difícil controlaro ambiente de geração de imagens que com um scaner. Ainda que se o usuáriotem a intenção de tomar a imagem de modo cuidadoso o processamento dumaimagem de câmera obtida pode ser problemático. Primeiramente, o brilho de umaimagem de câmera pode não ser uniforme devido a uma iluminação irregular oudevido a uma aberração das lentes da câmera. Em segundo lugar, a superfície denível de cor de uma imagem de câmera é mais lisa que a superfície do nível de corde uma imagem de scanner. Em outras palavras, as bordas de um objeto naimagem, por exemplo, de um caractere, não é nítido como numa imagem descanner, e portanto, a diferença na intensidade entre o plano anterior e o planoposterior varia em muitas imagens de câmeras. Em terceiro lugar, uma imagem decâmera pode ser distorcida pelo ruído do sensor acrescentado à imagemcapturada, bem como pelo borrão ótico e iormaçâo de vinhetas que são devidosao sistema ótico da câmera, ou seja, das lentes da câmera. Esses problemas sãoespecialmente significativos em imagens de câmeras que não estejam bemfocalizadas.
A fim de lidar com uma imagem de câmera, a performance da binarização é dessemodo muito importante. Entretanto, a performance de abordagens convencionaisde binarização local depende dos parâmetros empregados na binarização. Mesmose um conjunto particular de parâmetros funcione razoavelmente quanto a umaimagem, esses parâmetros não serão em sua maioria adequados para outrasimagens. Além disso, mesmo se um parâmetro ótico é computadocuidadosamente, a abordagem dé binarização pode falhar em preservarimportantes detalhes da estrutura de um objeto. Conseqüentemente, diversosproblemas precisam ser considerados quando da binarização de uma imagem decâmera.
Diversos métodos têm sido desenvolvidos para binarizar uma imagem. Essesmétodos podem ser classificados como métodos de binarização global e métodosde binarização local.
Num método de binarização global, a etapa mais importante consiste nadeterminação de um valor limiar global. Esse valor limiar será então usado comoum fator decisório para cada pixel çla imagem. Esse método está baseado nopressuposto de que o histograma de entrada é bi-modal. A vantagem dessemétodo é a sua simplicidade e eficácia para imagens uniformes. Porém, se ascaracterísticas de fundo ou de ruídos não são uniformes, essa abordagem poderesultar em grandes erros.
Num método de binarização local, um linfíiar dedicado é determinado para cadapixel de uma imagem com base em alguma estatística local. Muitos métodospopulares de binarização local são abordagens baseadas em janelas, nas quais olimiar local quanto a um pixel (i,j) é computado a partir de valores de nível de cinzados pixels numa janela centrada em (i,j). Diversas fórmulas têm sido propostaspara a computação de um tal limiar local.
Um método de binarização local foi também apresentado por P.D. Wellner em:"Limiar adaptativoing for the DigitaIDesk", EuroPARC Technical Report EPC-93-110, 1993. O método apresentado é especificamente projetado para imagenscontendo texto impresso e utiliza médias em movimento para decidir acerca daresposta da binarização. À idéia desse método é fazer uma varredura da imagemcalculando ao mesmo tempo uma soma em movimento dos últimos η pixels vistos.Quando o valor de um pixel é significativamente mais baixo que uma média emmovimento, ele é ajustado para preto, de outro modo ele é deixado branco. Essemétodo requer apenas uma varredura de imagem. A imagem é tratada como umfeixe unidimensional de pixels, e uma soma em movimento que pode ser usadapara determinar a média em movimento pode ser computada diretamente, ouavaliada com base na equação seguinte:
<formula>formula see original document page 5</formula>
onde Mi+1 é a estimativa da soma em movimento para o pixel pi+1. O feixeunidimensional de pixels é tomado a ,partir da imagem de câmera de acordo comum método de varredura chamado "boustrophedon", que significa "como o ox ara"na linguagem greta. Isto é, os pixels são tomados a partir de uma fila que avançada esquerda para a direita e a partir da próxima fila progredindo da direita para aesquerda, etc. Pela utilização desse método, uma influência de um lado daimagem sobre o outro é evitado. A soma. em movimento estimada é em seguidausada como um valor limiar local de acordo com a equação seguinte:
<formula>formula see original document page 5</formula>
onde P é o valor binário resultante para pixel ρ, , onde η é o número de pixelsconsiderado na soma em movimento, e onde α é um valor de porcentagem fixo. Otermo representa a média em movimento real. É para ser notado, todavia, quetambém a soma em movimento Mi propriamente é freqüentemente referida comouma média em movimento. Uma simpleé extensão desse algoritmo calcula as
médias dos limiares vigentes com um proveniente da fina acima, a fim de levar emconta as alterações de iluminação e considerar também o eixo vertical da imagem.É um provável problema desse método que o valor de porcentagem α usado paraselecionar o limiar a partir da média seja fixado. Experimentos mostram que esseúnico valor se torna insuficiente quando uma grande variedade de tipos de imagemde texto impresso estão sendo usadas e quando ocorrem diferentes condições decaptura.
Sumário da Invenção
É um objetivo da invenção proporcionar uma alternativa às soluções debinarização existentes. É também um objetivo da invenção permitir uma rápidabinarização. É também um objetivo da invenção permitir uma eficiente binarizaçãode uma imagem capturada por uma câmera.
Um método para binarizar uma imagem é proposto, cuja imagem é composta depixels. O método compreende of pixels. O5 método compreende dividir a imagemem duas semi-imagens e inicializar parâmetros locais com base nos valores depixels que se situem numa área adjacente a uma fronteira que separa as semi-imagens. O método também compreende realizar uma binarização separadamentepara cada uma das semi-imagens usando um limiar adaptativo. O limiar adaptativoé calculado para cada uma das semi-imagens procedentes dos parâmetros locaisinicializados.
Além disso, um alinhamento de chips para processamento de imagem e umdispositivo eletrônico são propostos. Ambos compreendem quanto a umabinarização de uma imagem composta c|e pixels e uma parte de inicializaçãoadaptada para dividir uma imagem em duas semi-imagens e inicializar osparâmetros locais com base nos valores de pixels que se situam numa áreaadjacente a uma fronteira que separa as semi-imagens. O alinhamento de. chipspara processamento de imagem e o dispositivo eletrônico também compreendemuma parte de binarização adaptada para realizar uma binarização separadamentepara cada uma das semi-imagens de uma imagem usando um limiar adaptativo,onde o limiar adaptativo é calculado para cada uma das semi-imagensprocedentes dos parâmetros locais inicializados pela parte de inicialização.O dispositivo eletrônico proposto, pode ser, por exemplo, embora nãoexclusivamente, um telefone móvel, um computador móvel ou estacionário dequalquer tipo, uma câmera digital, um auxiliar pessoal digital, ou qualquer tipo dedispositivo portátil compreendendo uma funcionalidade câmera, etc.
Finalmente, um produto programa de software é proposto, no qual um códigosoftware para a binarização de uma imagem está armazenado, onde uma imagemé composta de pixels. Quando estando executado por uma unidade deprocessamento de um dispositivo eletrônico, o código software realiza as etapasdo método proposto. O produto programa de software pode ser, por exemplo, umdispositivo de armazenamento dedicado, uma memória de um dispositivoeletrônico que possa ser acessado por uma unidade de processamento dodispositivo eletrônico, ou um memória de armazenamento temporário de umaunidade de processamento de um dispositivo eletrônico no interior do qual ocódigo de software está carregado para execução, etc.
A invenção prossegue a partir da consideração que duas semi-imagens de umaimagem podem ser binarizadas independentemente uma da outra, se parâmetroslocais empregados na binarização de cada uma das semi-imagens sãoprimeiramente inicializados com base nos pixels provenientes de ambas as.semi-imagens.
É uma vantagem da invenção que a binarização em separado das duas semi-imagens permite uma binarização paralela das semi-imagens. Isso torna abinarização mais rápida.
É também uma vantagem da invenção que o limiar adaptativo empregado poderefletir informação local a partir de uma faixa correlacionada a um pixel alvo, eportanto, não ser sensível à variação nas propriedades da imagem original.Usualmente, os pixels de uma imagem digital são dispostos em colunas e filas.A fronteira de separação das semi-imagens pode ser então, por exemplo, umalinha vertical. Os parâmetros locais inicializados podem compreender nesse casoquanto a cada fila uma soma inicial de valores de pixel nessa fila na áreaadjacente à linha vertical. O limiar adaptativo pode ser adaptado para cada um dospixels em cada fila de cada semi-imagem com base num soma em movimentoprovida de janelas procedente de uma soma inicial associada a uma respectivafila. De modo alternativo, a fronteira pode ser, por exemplo, uma linha horizontal.
Os parâmetros locais inicializados podem compreender nesse caso para cadacoluna uma soma inicial de valores de pixel nessa coluna na área adjacente àlinha horizontal. O limiar adaptativo pode ser adaptado para cada pixel em cadacoluna de cada semi-imagem com base numa soma em movimento provida dejanelas procedente de uma soma inicial associada a uma respectiva coluna.A inicialização proposta proporciona um modo eficiente para liminar a formação devinhetas da imagem de entrada. A varredura convencional por boustrophedon éeficiente para eliminar as influências entre filas sucessivas, mas a quantidade deaberração por formação de vinhetas é diferente nas filas sucessivas. De fato, essecaráter é fortemente não linear. Uma? operação poderia ser usar um comprimentocomputacional adaptativo quanto à soma em movimento. Mas isso poderiacomplicar o processo significativamente. A nova varredura proposta é muito maisfácil de realizar. Uma vez que a varredura não é realizada mais em direçõesalternantes, mas começando em cada ,fila ou coluna de novo a partir dasinicializações computadas, a formação de vinhetas é simplesmente eliminada pelacomputação independente nas filas ou colunas.
Além disso, o processamento separado em filas ou colunas permite em adição umprocessamento paralelo dentro de cada semi-imagem.
Como uma conseqüência das capacidades suavizantes da soma em movimento,existe um risco de que a binarização afine as linhas grossas na direção da somaem movimento. A totalidade dos termos usados para binarizar um pixel vigenteestará contida na linha, mas devido aos ruidosos sensores da câmera eles serãobastante diferentes. Portanto, a binarização pode decidir que este plano de fundoesteja presente dentro da linha grossa.
Uma primeira abordagem é proposta, de acordo com a qual esse efeito é corrigidoa algum grau mediante aplicar correções adaptativas locais à soma em movimentoprovida de janelas. Para essa finalidade, uma soma em movimento com janelasque é determinada quanto a um pixel particular pode ter sua média calculada comuma soma em movimento com janelas que é determinada quanto a um pixeladjacente ao pixel em particular, antes da soma em movimento com janelas serusada para o cálculo de um limiar adaptativo quanto ao pixel em particular. Um talcálculo de média adicional permite aumentar a influência local sobre o valor limiar.
Em uma modalidade dessa abordagem, a soma em movimento com janelas que édeterminada quanto a um pixel particular é calculada em sua média pelo menoscom a soma em movimento com janelas que é determinada quanto a um pixel queprecede o pixel em particular na mesma fila ou coluna, na qual a soma emmovimento é determinada. Essa modalidade garante que os cálculos para cadapixel pode ser limitado a uma única fila ôu coluna. De modo alternativo ou emadição, a soma em movimento com janelas que é determinada quanto a um pixelparticular pode ter sua média calculada com pelo menos uma soma em movimentocom janelas que é determinada quanto a um pixel na precedente fila ou coluna,em que a soma em movimento é determinada.
Além disso, uma segunda abordagem é proposta, de acordo com a qual o efeitode linhas mais finas é corrigido pelo uso de uma binarização corretiva secundáriaem uma direção perpendicular, que cancela totalmente esse efeito indesejado. Istoé, a imagem binarizada que resulta com uma divisão vertical ou horizontal éconsiderada ser apenas um resultado prel|minar. Em adição, a imagem original édividida em mais duas semi-imagens na direção ortogonal. Para essas adicionaissemi-imagens, parâmetros locais adicionais são inicializados do mesmo modocomo descrito acima para a primeira divisão horizontal e vertical, respectivamente.
O resultado preliminar é então corrigido separadamente em cada uma das semi-imagens adicionais usando os parâmetros locais adicionais inicializados. Épossível realizar tais correções na imagem binária preliminar como um todo. A fimde acelerar essa etapa de processamento, todavia, as correções podem estarlimitadas às computações do objeto. Isso significa que apenas aquelas porções deimagem são consideradas quanto a uma possível correção que foremdeterminadas pertencerem ao plano de fundo na primeira, preliminar etapa debinarização. Desse modo, o mesmo processo é realizado como na direçãoprimária, apenas numa outra direção e quanto a um limitado número de pixels.Cada pixel que foi determinado na primeira etapa de binarização pertencer aoplano de fundo pode ser agora determinado pertencer a um objeto também, e ovalor associado é corrigido conseqüentemente.
Embora a primeira abordagem apresentada tenha a vantagem de que ela é maisrápida, a segunda abordagem tem a vantagem de que ela resulta em melhorsolução de correção.
Deve ser notado que na segunda abordagem, uma saída binária é já disponívelantes da correção ser aplicada, tal que essa etapa é suplementaria. Devido aoconsumo adicional de tempo requerido para a correção, ela deverá ser, portanto,realizada em uma modalidade apenas quando solicitado por um usuário, porexemplo, sempre que o usuário não estivar satisfeito com a binarização primáriaobtida.
O valor limiar ótimo quanto a um pixel pode depender de ambos o comportamentoda imagem local e o comportamento da imagem global.
Assim, de modo vantajoso parâmetros globais são computados adicionalmenteaos parâmetros locais, que podem ser tomados, por exemplo, em paralelo com ainicialização dos parâmetros locais. O cálculo do limiar adaptativo para cada umadas semi-imagens pode então levar em conta os parâmetros globais. Essaabordagem é particularmente adequada para adaptar o limiar adaptativo àsdiversas condições de iluminação. Deve ser notado que os parâmetros globaispodem ser calculados quanto à imagem por inteiro ou separadamente para cadauma das semi-imagens. Para melhorar ainda mais a consistência com respeito àvariação de iluminação, cada semi-imagem pode ser também dividida em sub-imagens, por exemplo, na forma de duas ou quatro sub-imagens, etc. Osparâmetros globais podem ser então computados e alterados para cada sub-imagem conseqüentemente.
Se os parâmetros locais inicializados compreendem somas iniciais de valores depixel na área adjacente à fronteira e um limiar adaptativo é calculado para cadapixel de cada semi-imagem com base na soma em movimento com janeías devalores de pixel procedentes de uma respectiva soma inicial, um limiar adaptativoquanto a um pixel em particular pode ser determinado mediante aplicar asoperações seguintes a uma soma em movimento com janelas quanto ao pixel emparticular:
1.Uma multiplicação com um valor de uma função de ajuste quanto à médiaem movimento, em que a função de ajuste tem um valor decrescente umaprimeira faixa das médias em movimento, um valor constante numa segundafaixa de médias em movimento e um adicional valor decrescente numa terceirafaixa de médias em movimento. As faixas são definidas por um primeiro; e umsegundo dos valores de parâmetros globais computados.
2.Uma multiplicação com um terceiro valor de parâmetro global computadoque se situe entre o primeiro e o segundo valores de parâmetros globaiscomputados.
Como uma operação adicional, uma divisão por um número de pixels consideradona soma em movimento pode ser aplicada, a fim de converter a soma emmovimento numa média em movimento. Se o número é fixo, todavia, essaoperação pode ser realizada implicitamente mediante selecionar a função deajuste conseqüentemente.
É para ser entendido que a ordem das operações indicadas pode ser selecionadade modo arbitrário.
Todos os parâmetros e funções requeridas podem ser computadas de modoadaptativo a partir da imagem de entrada tal que não exista necessidade quanto auma calibração.
A invenção pode ser usada para imagens em escalas de cinza, imagens a cores edados em bruto que chegam diretamente . ã partir de um sensor de câmera. Se aimagem é uma imagem a cores, ela pode ser primeiramente convertida na formade uma imagem em escalas de cinza. De modo alternativo, entretanto, uma dascores pode ser selecionada como uma base quanto a binarização, ou abinarização pode ser realizada separadamente para duas ou mais cores. Nessecaso a pluralidade de imagens binárias resultante pode ser combinada para umaúnica imagem binária.
A imagem binária obtida pode ser adicionalmente corrigida mediante aplicarcorreções binárias, por exemplo por meio de um filtro de média binária aplicandouma filtragem da média binária e/ou filtros morfológicos binários que aplicam umafiltragem morfológica binária.
Já foi indicado que a invenção permite um alto grau de processamento paralelo,cada tipo de processamento paralelo implementado aumentando a velocidade totalde processamento. Em resumo, é passível uma opção quanto a umprocessamento paralelo em que a inicialização de parâmetros locais seja realizadaem paralelo com uma computação dos parâmetros globais quanto à imagem; juntocom a inicialização dos parâmetros locais quanto a uma imagem, na qual os pixelsestão dispostos em colunas e filas, uma inicialização em separado dos parâmetroslocais é realizada em paralelo para respectivamente pelo menos duas colunas oupelo menos duas filas; que a inicialização dos parâmetros locais numa direção érealizada em paralelo com uma inicialização adicionais de parâmetros locais emuma outra direção; que junto com a binarização um cálculo de um limiar adaptativoé realizado em paralelo para cada uma das semi-imagens; e/ou que junto dabinarização para uma imagem, na qual os pixels estão dispostos em colunas efilas, um cálculo em separado de um limiar adaptativo é realizado em paralelo pararespectivamente pelo menos duas colunas ou pelo menos duas filas numarespectiva de uma das semi-imagens; etc.
Como a invenção pode ser usada para diferentes tipos de imagens, por exemplo,para imagens de matriz de Bayer ou para imagens interpoladas, ela pode serincorporada numa seqüência de processamento de imagens ou ela pode serimplementada como um pacote SIS (system installation suite) em separado que éinstalado sob demanda.
A binarização apresentada pode ser usacfla, por exemplo, para uma quantizaçãode cores ou para separar um objeto do plano de fundo. A invenção pode serempregada, por exemplo, num pré-processamento de uma imagem que é aprimeira etapa num sistema de processamento de documento, ou em um sistemade separação objeto/plano de fundo. O Jpbjetivo do pré-processamento é o deobter a melhor imagem binária possível a partir da imagem de entrada que irápermitir uma detecção de objetos ou um reconhecimento de caracteres.
A invenção pode ser também empregada para uma grande variedade ofaplicações. Um uso representativo é um processamento use case is aprocessamento, recuperação e armazenamento de um documento na forma de umtexto em lugar de uma imagem a cores. A adicional caso de uso representativo éuma varredura e armazenamento de notas para uma recuperação posterior. Umadicional caso de uso representativo é uma varredura e armazenamento demapas. Se a binarização é boa, o usuário não precisa considerar a imagem acores mapeada para compreender o que está representado. Um adicional caso deuso representativo é uma apresentação, varredura e armazenamento de placa.Um adicional caso de uso representativo é uma varredura de informação de textoapresentada em equipamentos de TV e telas de monitores, do tipo números detelefones móveis ou web sites. Um adicional caso de uso representativo é umaetapa de pré-processamento para aplicações de código de barras, etc.É para ser entendido que o alinhamento de chips para processamento de imagemproposto e o dispositivo eletrônico proposto podem compreender meios adaptadospara realizar quaisquer das modalidades apresentadas. Igualmente, o códigosoftware pode ser implementado para realizar quaisquer das modalidadesapresentadas.
Outros objetivos e características da presente invenção se tornarão evidentes apartir da descrição detalhada apresentada a seguir considerada em conjunto comos desenhos anexos. É para ser entendido, todavia, que os desenhos sãodesenhados apenas para propósitos de ilustração e não como uma definição doslimiares da invenção, para o que deverá ser feita referência às reivindicaçõesanexas. Deverá ser notado também que os desenhos não estão desenhados emescala e que eles são meramente pretendidos para ilustrar conceitualmente asestruturas e procedimentos aqui descritos.
Breve Descrição das Figuras
A Figura 1 é um diagrama de bloco esquemático de um dispositivo eletrônico deacordo com uma modalidade da invenção;
A Figura 2 é um fluxograma que ilustra uma binarização no dispositivo eletrônicoda Figura 1;
A Figura 3 é um diagrama que ilustra uma inicialização de parâmetro localempregada no escopo da binarização da Figura 2;
A Figura 4a é um diagrama que ilustra a computação da soma em movimentoempregada no escopo da binarização da Figura 2 para uma primeira semi-imagem;
A Figura 4b é um diagrama que ilustra a computação da soma em movimentoempregada no escopo da binarização da Figura 2 para uma segunda semi-imagem;
A Figura 5 é um diagrama que representa uma função parâmetro adaptativoempregado no escopo da binarização da Figura 2;
A Figura 6 e um fluxograma que ilustra uma variação da binarização da Figura 2;
A Figura 7a é um exemplo de uma imagem original que é para ser binarizada·;
A Figura 7b é a imagem binarizada da Figura 7a resultante com uma abordagemdo estado da arte; e
A Figura 7c é a imagem binarizada da Figura 7a que resulta com uma abordagemde acordo com a invenção.
Descrição Detalhada da Invenção
A Figura 1 é um diagrama de bloco esquelético de um dispositivo eletrônico, quepermite uma eficiente binarização de acordo com uma modalidade da invenção.
A título de exemplo, o dispositivo eletrônico um telefone provido de câmera 10, istoé, um telefone móvel que compreende funções de câmera embutidas. É para serentendido que ele pode ser qualquer outro dispositivo eletrônico que se beneficiede uma eficiente binarização de imagens.
O telefone provido de câmera 10 inclui um sensor de imagem 11, por exemplo, umsensor CCD (dispositivo de carga acoplada).
O telefone provido de câmera 10 também inclui uma unidade de processamento12 que está adaptada para executar diversos códigos de programa de software.
Os códigos software incluem um código de processamento de imagem 13 opcionale códigos de programas de software correlacionados com a binarização. O códigode processamento de imagem 13 pode realizar, por exemplo, uma seqüência degeração de imagens ou um gerador de imagem JPG. Junto com o sensor deimagem 11, ele forma uma parte convenciónal de captura de imagem. Os códigosde programa software correlatos com a binarização compreendem um opcionalcódigo de computação de níveis de cinza 14, um código de extração de parâmetroglobal 15, um código de inicialização de parâmetro local 16, um código debinarização adaptativa 17, e um código de correção binária 18.
A unidade de processamento 12 pode ser, por exemplo, uma unidade geral deprocessamento digital do telefone provido de câmera 10, que roda os códigos desoftware para as diversas aplicações, ou ele pode ser uma unidade dedicada deprocessamento de câmera. De modo alternativo, as funções de um código deprocessamento de imagem 13 e dos; códigos de programa de softwarecorrelacionados com a binarização 14-18 podem ser implementados, por exemplo,em um alinhamento de chips para processamento de imagem.
O telefone provido de câmera 10 também inclui uma memória 19.
É para ser entendido que o telefone provido de câmera 10 compreendeadicionalmente diversos outros componentes, incluindo componentes quepermitem uma comunicação móvel, etc.
Uma binarização que pode ser realizada pelo telefone provido de câmera 10 daFigura 1 será descrita em mais detalhes com referência às Figuras 2 a 5.
A Figura 2 é um fluxograma que ilustra as etapas da binarização.Em uma primeira etapa, uma imagem é capturada por meio de uma parte decaptura de imagem 11, 13 (etapa 201). A imagem capturada pode ser dados deimagem de matriz de Bayer obtidos diretamente a partir de um sensor CCD 11. Demodo alternativo, ela pode ser uma imagem a cores emitida por uma seqüência degeração de imagens ou uma imagem a cores JPG obtida após uma compressãodos dados de imagem da matriz de Bayer. A imagem capturada pode ter, porexemplo, um tamanho de 640x480 pixels, mas igualmente qualquer outrotamanho.
Quando os dados de matriz de Bayer são usados, a imagem obtida do sensor 11contém quatro componentes para cada pixel, ou seja um componente Red(vermelho), dois componentes Green (verde) e um componente Blue (azul). Numamodalidade, apenas um dos componentes Green e o componente Red são usadosquanto a binarização. A utilização de somente componentes selecionados nabinarização tem a vantagem de que cada componente negligenciado reduz aquantidade de dados na matriz de Bayer por um quarto, o que também reduz acomplexidade computacional e aumenta a velocidade de processamento da alémdisso, o componente Blue é o componente mais ruidoso, tal que sua ausênciafacilita adicionalmente um processo de supressão de ruídos. É para ser notado,todavia, que uma tal seleção de componentes é apenas vantajosa, se o objeto queé para ser binarizado se apresente preto na entrada, por exemplo, se o objeto éum código de barras. Apenas nesse caso a ausência do componente Blue nãopossui um impacto muito intenso.
A seleção de um componente de cor pode ser realizada, por exemplo, por meio deum código de processamento de imagemfl3 ou por meio do opcional código decomputação de níveis de cinza 14.
A saída de dados de imagem pela parte de captura de imagem 11, 13 é passadaao código de computação de níveis de cinza 14
O código de computação de níveis de cinza 14 transforma a imagem a cores numaimagem em escalas de cinza (etapa 202). Isso pode ser conseguido, por exemplo,por meio de uma apropriada obtenção da média dos componentes de cor Red,Green, e Blue selecionados. De modo alternativo, simplesmente um componentede uma imagem a cores, por exemplo, o componente Green, pode ser usado emlugar da imagem em escalas de cinza. Isso é suficiente para binarizar documentoscapturados escritos em preto e branco. Se uma imagem capturada contémtambém caracteres coloridos, resultados melhores são obtidos se, por exemplo, oscomponentes Red e Green tiverem suas médias tiradas para cada pixel. Se oobjeto a ser binarizado aparecer em cores claras, o componente Blue deverá serusado também. O nível de cinza que est$ ássociado a cada pixel pode ser, porexemplo, um dos 256 níveis de cinza possíveis que se situam na faixa de 0 a 255.A computação dos níveis de cinza aumenta a velocidade da binarização, uma vezque apenas um componente precisa ser adicionalmente processado nassubseqüentes etapas de processamento.
O dado de imagem obtido em escala^de cinza é provido ao código de extração doparâmetro global 15, o código de inicialização do parâmetro local 16, e o código debinarização adaptativa 17.
Numa próxima etapa, diversos parâmetros globais são extraídos da imagemcompleta através de um código de extração, do parâmetro global 15 (etapa 203).Esses parâmetros globais podem ser usados como pesos para os parâmetroslocais, como será explanado mais adiante, ou para decidir acerca das correçõesaplicadas durante uma binarização adaptativa.
Em uma implementação possível da extração do parâmetro global, o valor máximo(Max) e o valor mínimo (Min) da imagem completa são determinados para essafinalidade. Os parâmetros globais D, D1 e D2 podem ser então derivados como aseguir:
D = (Max+Min)/2
D1 = (Min+D)/2
D2 = (D+Max)/2
Em uma outra implementação possível da extração do parâmetro global, sãousados histogramas para derivar os parâmetros globais. Primeiramente, ohistograma da imagem completa é computado. Isto é, para cada nível de cinzapossível, é determinado o número de pixels aos quais o respectivo nível de cinzaestá associado. Em seguida D é ajustado ao nível de cinza na parte intermediáriada parte não zero do histograma. D1 é ajustado para corresponder ao mais altonível de cinza no qual o histograma representa mais que 10% dos pixelspertencentes a um objeto, que é representado pelos mais altos níveis de cinza. Demodo similar, D2 é ajustado para corresponder aos mais baixos níveis de cinzaaos quais o histograma representa mais que 10% dos pixels pertencentes ao planode fundo, que é representado pelos mais baixos níveis de cinza. Por exemplo, acomputação do nível de cinza (etapa 202) pode resultar em imagens em escalasde cinza com 256 níveis de cinza. Para a determinação dos parâmetros globais D1e D2 por meio de histogramas, primeiro, Iim histograma é computado quanto auma respectiva escala de cinza. Começando a partir de 0 e prosseguindo nosentido de 255, então um máximo M1 do histograma é computado. Um máximopode ser considerado ter sido obtido se o valor em uso é maior que dois valoresantecedentes bem como que dos próximos dois valores futuros. Um segundomáximo M2 é computado em um rfiodo similar começando a partir de 255 eprosseguindo no sentido de 0. Um valor de separação objeto/plano de fundo éaproximado Sep = (M1+M2)/2. Uma soma S1 dos valores de histograma écomputado de 0 a Sep, e uma soma S2 de Sep a 255. em seguida os valores deparâmetros globais are obtidos por meio de D1 = S1*10/100 e D2 = S2*10/100.Ambas as implementações resultam em boa performance. A primeiraimplementação, todavia, se apresenta melhor quanto a uma imagem capturadamais regular e não tão colorida.
Paralelamente ou em seguida, o código de inicialização do parâmetro local 16inicializou uma pluralidade de parâmetros locais (etapa 204). Deve ser notado quepara uma subseqüente inicialização, os dados da imagem capturada pode serprovido ao código de inicialização do parâmetro local 16 bem como por meio docódigo de extração do parâmetro global 15, em lugar de diretamente por meio docódigo de computação do nível de cinza 14.
Para a inicialização, a imagem é dividida- ao longo de uma linha de separaçãohorizontal ou vertical em duas imagens de tamanhos iguais. Os valores comunsiniciais dos parâmetros locais para ambas as semi-imagens são entãodeterminados por meio de uma computação que é realizada nos valores dé pixelde ambas as semi-imagens adjacentes à linha de separação.Uma possível computação de tais valores comuns iniciais é ilustrada no diagramada Figura 3 quanto a uma linha vertical de separação.
A Figura 3 apresenta uma imagem 300 que está dividida numa primeira semi-imagem I 301 e uma segunda semi-imagem Il 302 ao longo de uma linha deseparação vertical de inicialização 303. Cada fila k da imagem 300 compreende omesmo número de pixels 304.
Para cada fila k de uma imagem 300, um valor inicial Mo é calculado. No exemplodado, o valor inicial Mo para uma respectiva fila k é a soma de quatro valores depixel da primeira semi-imagem I 301 situaida próximo da linha vertical na fila k edos quatro valores de pixel da segunda semi-imagem Il 302 situada próximo dalinha vertical na fila k. Os valores iniciais M0 são os valores comuns iniciais para assemi-imagens 301, 302.
De modo alternativo, in case of a linha de separação horizontal, em cada colunade uma imagem quatro valores de pixel proveniente de cada semi-imagem, osquais são adjacentes à linha de separação numa coluna em particular, sãosomados.
Após essa etapa 204, o processamento adicional pode ser realizadoindependentemente em cada semi-imagem.
A próxima etapa (etapa 205) é realizada por meio do código de binarizaçãoadaptativa 17 que recebe como uma entrada os parâmetros globais extraídos D,D1 e D2, os valores locais iniciais computados M0 e os dados de imagem emescalas de cinza, os dados de imagem erri escalas de cinza. Os dados de irrlagemem escalas de cinza incluem os níveis de cinza de todos os pixels. É para sernotado que os dados de imagem em escalas de cinza podem ser providos aocódigo de binarização adaptativa 17 bem como por meio do código de extração doparâmetro global 15 e/ou do código de inicialização do parâmetro local 16, emlugar de diretamente por meio do código de computação do nível de cinza 14.O código de binarização adaptativa realiza uma binarização adaptativaseparadamente para cada semi-imagem 301, 302.
Primeiramente, um valor limiar adaptativo é determinado para cada pixel de umasemi-imagem com base no valor de parâmetro global provido e nos valores iniciaisprovidos.
Os valores iniciais Mo são usados para determinar um valor de parâmetro localpara cada pixel ρ,+ι na forma de uma soma em movimento Mm por meio de umarecorrente implementação de médias em movimento, como será explanado aseguir. É para ser entendido que as médias em movimento podem ser tambémcalculadas diretamente.
Considerando que a imagem original é dividida em duas semi-imagens 301, 302ao longo de uma linha vertical 303, o processamento de uma respectiva semi-imagem será realizado nas filas.
A Figura 4a ilustra a determinação de uma soma em movimento Mi+i quanto a umpixel pi+i numa respectiva linha k da semi-imagem I 301 de acordo com a equaçãoseguinte:
M =Mi+ pi+a - p,_b,
O pixel po de uma respectiva fila k é o pixel da semi-imagem Il 302 que estáadjacente à linha de separação 303, e o índice de pixel aumenta no sentido daesquerda. O valor inicial Mo, válido para pixel po de uma respectiva fila k, foicomputado na etapa 204. No exemplo dado, as variáveis a e b são ajustadas paraa = 3eb = 5em vista dos respectivos oito fatores pjxe| combinados no valor inicial M0.
As somas em movimento são determinadas do mesmo modo quanto aos pixels dasegunda semi-imagem Il 302, que é ilustrado na Figura 4b. Nesse caso, o pixel pode uma respectiva fila é o pixel da semi-imagem I 301 que está adjacente à linhade separação 303, o índice dos pixels^aumentando no sentido da direita.
A influência local sobre o desejado valor limiar pode ser também aumentadamediante obter a média da vigente soma em movimento Mi+1 para pixel pi+1 com asoma em movimento M, computada numa etapa precedente para pixel p,, quemantém a fila-interna de processamento. O valor de parâmetro local resultante édenotado com Η. De modo alternativo ou em adição, o valor do parâmetro H podeser também obtido mediante obter a média do valor Mi+i para pixel pi+i da linha kvigente com o valor Mi+i para pixel pi+i da precedente linha k-1.
O limiar adaptativo Ti para pixel p,+i numa,fila em particular de uma semi-imagempode ser então determinado de acordo com a equação seguinte:
<formula>formula see original document page 21</formula>
No dado exemplo, η = 8 é o tamanho de janela usado, GP = D/8 é o fator doparâmetro global dependente apenas do valor provido de parâmetro global D, eAP(x) é uma função de parâmetro adaptativo dependente dos valores providos deparâmetros globais D1 e D2.
A forma da função AP(x) e o modo como sua forma é controlada pelos parâmetrosglobais D1 e D2 é ilustrado na Figura 5. Pôde ser visto que o valor de AP diminuide aproximadamente 2 para aproximadamente 1 quanto a um valor de limiar χsubida de 0 a D1. Em seguida, o valor de AP permanece basicamente constantecomo o valor de limiar χ subida de D1 a D2. Finalmente, o valor de AP se !reduzmais para um valor de limiar χ subida de D2 a 255. Pode ser visto que essa funçãoirá pesar o limiar adaptativo com um valor constante apenas quando o valor pixelpi+1 se situa entre os valores de parâmetros globais D1 e D2. A forma da função éajustada automaticamente quanto a uma respectiva imagem com base nos valoresdeterminados dos parâmetros globais D1 e D2.
Uma vez o limiar T, tenha sido determinado quanto a um pixel em particular ρ,, ocódigo de binarização adaptativa 17 determina se o nível de cinza do pixel p, sesitua acima do limiar Ti. No caso dele se situar acima do limiar, o pixel p, é ajustadopara "preto", de outro modo, o pixel pi é ajustado para "branco".É para ser notado que no caso de uma linha de separação horizontal, oprocessamento é realizado em um modo equivalente em colunas em lugar de emfilas.
Finalmente, o código de correção binária 18 aplica operações binárias à imagembinária obtida com o propósito de corrigir uma imagem binária (etapa 206)! Maisespecificamente, uma filtragem mediana binária (etapa 207) realizada por um filtrode média é seguida por uma filtragem morfológica (etapa 208) realizada pelosfiltros morfológicos. O filtro mediano binário é responsável pela supressão deruídos. Ele tem o propósito de eliminar todos os pequenos impulsos comoartefatos que possam resultar após a binarização. Os filtros morfológicos sãoresponsáveis por correções de erosão/dilateção. Eles possuem a capacidade paracorrigir a forma dos caracteres, na medida em que presentes numa imagem, emformas que sejam mais agradáveis aos olhos, na medida que eles fazem oscaracteres parecerem mais fluidos. É para ser notado que a ordem deprocessamento pode ser também revertida. Desse modo, é também possívelprimeiramente usar os filtros morfológicos e em seguida os filtros medianos.
Uma etapa de supressão de ruídos com tarefas similares pode ser provida emlugar disso logo após a captura de uma imagem. Nesse caso, a imagem a serbinarizada já está limpa de alguns artefatos indesejados. É uma desvantagemdessa abordagem, entretanto, que algoritmos de supressão de ruídos bastantessofisticados são necessários para conseguir uma boa performance, por exemplo,um filtro Sigma com 24 filas adjacentes como entrada. Por questões de velocidadede processamento, é portanto preferido deixar o processo adaptativo cuidar dasupressão de ruídos. Experimentos mostram que, para uma classe maior deimagens capturadas, os resultados obtidos são melhores quando a imagem écorrigida somente após uma binarização. Além disso, alguma correção bináriaadicional é necessária mesmo se uma supressão de ruídos é realizada na imagemcapturada, o que proporciona um motivo adicional para implementar a supressãode ruído completa no domínio binário.
A imagem binarizada e corrigida pode sé" então armazenada, por exemplo, namemória 19 para uso posterior. De modo alternativo ou em adição, a imagembinarizada e corrigida pode ser também apresentada a um usuário numa tela dotelefone provido de câmera 10 ou ser processado por alguma aplicação adicional,como uma aplicação de reconhecimento de caracteres ou uma aplicação de leiturade código de barras, etc.
A apresentada binarização é adaptativa sem requerer qualquer ajuste ou sintoniapelo usuário: como os parâmetros e funções empregadas são detectadas ecorrigidas automaticamente com base nos dados de imagem capturados, nãoexiste necessidade quanto a uma calibração do sistema. Adicionalmente, a etapade inicialização permite um processamento paralelo nas colunas ou filas daimagem na etapa de binarização adaptativa, e desse modo uma aceleração noprocessamento. Também a etapa de inicialização pode ser paralelizada. A etapade inicialização da binarização apresentada proporciona além disso um modoeficiente para eliminar uma formação de vinhetas.
É para ser notado que a operação apresentada pode ser variada em muitosmodos.
Por exemplo, a etapa de computação do nível de cinza 202 pode ser pulada,icomoindicado na Figura 2 pelas linhas pontilhadas. Nesse caso as etapas subseqüentes203-205 são realizadas separadamente para todos os componentes de corselecionados de uma imagem capturada. Isto é, quatro binarizações separadassão necessárias para um imagem da matriz de Bayer obtida diretamente a partirdo sensor CCD, enquanto que três binarizações separadas são necessárias parauma imagem a cores obtida na saída de ufria seqüência de formação de imagense para uma imagem a cores JPG obtida após compressão. Um resultado final éobtido mediante aplicar uma operação OR a todas as saídas binárias computadas.Se a computação de imagem a nível cinza é ausente, uma variedade de sintoniafina da binarização para a totalidade das cores presentes na imagem de saídapode ser obtida. Se uma binarização de imagens muito coloridas é necessário,todos os componentes de cor devem ser usados.
Além disso, os parâmetros globais D, D1 e D2 podem ser igualmente computadosseparadamente para cada um de uma pluralidade de sub-imagens, em lugar deser para a imagem inteira. Como a binarização se move no sentido de uma sub-imagem, os parâmetros globais e a função AP(x) são então conseqüentementealteradas. A imagem original pode ser dividida para essa finalidade, por exemplo,na forma de 2, 4, 8, ou 16 sub-imagens dimensionadas igualmente oudiferentemente dimensionadas. No caso de duas sub-imagens, as sub-imagenspodem corresponder, por exemplo, às serifii-imagens, e para mais que duas sub-imagens, cada semi-imagem pode ser adicionalmente dividida. A utilização de umconjunto de parâmetros globais ou de mais conjuntos de parâmetros globaisresulta em performances algo similares. Algumas diferenças surgem apenas parasemi-imagens fortemente diferentes.
A Figura 6 é um fluxograma que ilustra uma possível variação adicional dabinarização descrita com referência à Figura 2.
Nessa binarização, as etapas de captura da imagem 601, de computação daimagem em escalas de cinza 602 e de extrair parâmetros globais 603 podecorresponder às etapas 201, 202 e 203, respectivamente, da Figura 2.Além disso, parâmetros locais podem ser inicializados (etapa 604) como descritocom referência à etapa 204 da Figura 2 para uma imagem em escalas de cinzaque está dividida ao longo de uma linha vertical. Os parâmetros locais inicializadospodem ser então usados para computar uma imagem binária por meio de filas emambas as semi-imagens (etapa <605), como descrito acima com referência à etapa205 da Figura 2.
Em adição, entretanto, a mesma imagem em escalas de cinza está dividida aolongo de uma linha horizontal para inicialização de parâmetros locais por meio dascolunas (etapa 611). Uma inicialização com base numa divisão ao longo de umalinha horizontal é mencionada acima com referência à etapa 204 da Figura 2 comouma alternativa para uma inicialização com base numa divisão ao longo de umalinha vertical.
Desse modo, apenas uma divisão é usada para a solução apresentada na Figura2, enquanto que ambas as divisões possíveis - na direção horizontal e vertical -são usadas em paralelo quanto à solução apresentada na Figura 6.Os parâmetros locais inicializados resultantes com a divisão horizontal são entãousados para corrigir o objeto obtido na etapa 605 independentemente por meio decolunas em ambas as semi-imagens obtidas por meio da divisão ao longo de umalinha horizontal (etapa 612). É para ser notado que apenas a computação doobjeto é atualizada. Isso significa que para essa etapa, as direções primárias doobjeto não são levadas em conta. Se o pixel vigente já tiver sido determinadopertencer a um objeto nas computações primárias da etapa 605, a etapa 612 ésimplesmente pulada. Desse modo, uma çprreção é necessária apenas quando oplano de fundo foi detectado nas computações primárias da etapa 605. Em outraspalavras, apenas os pixels que tiverem sido ajustados para "branco" na etapa 605são possivelmente corrigidos. Se a binarização na direção ortogonal decide que opixel vigente pertence a um objeto também, então o pixel vigente é corrigido desdeo valor plano de fundo até o valor objeto. Aparte do fato do fato de que umadecisão é apenas tomada quanto a um número limitado de pixels na etapa 612, abinarização secundária corresponde exatamente à binarização descrita comreferência à etapa 205 quanto ao caso mencionado de uma linha de separaçãohorizontal.
É para ser entendido que a binarização bááica (etapas 604, 605) pode ser tambémrealizada com base em um processamento de modo coluna, enquanto que umasubseqüente correção (etapas 611, 612) é realizada com base em umprocessapiento de modo fila.
A imagem corrigida resultante é então submetida às correções binárias (etapas606, 607, 608) como descrito acima com referências às etapas 206, 207 e 208 daFigura 2.
A variação apresentada de uma binarização de acordo com a invenção tem avantagem adicional de que a segunda divisão é adequada para corrigir a imagembinária obtida na etapa 305 com respeitosa linhas indesejadas que podem estarpresentes numa imagem binária na direção do movimento.
As Figuras 7a, 7b e 7c ilustram o efeito da binarização proposta. A Figura 7a éuma imagem capturada que é originalmente colorida. A Figura 7b é uma imagembinarizada resultante com a abordagem de binarização apresentada no documentomencionado acima por Wellner. A Figura 7c é uma imagem binarizada resultantecom a abordagem de binarização de acordo com a invenção.Embora tenham sido mostradAs, descritas e apontadas as novas característicasfundamentais da invenção, como aplicadas às suas modalidades preferidas', seráentendido que diversas omissões, substituições e alterações na forma e detalhesdos dispositivos e métodos descritos podem ser feitos por aqueles usualmenteversados na técnica sem se afastar do espírito da invenção. Por exemplo, éexpressamente pretendido que todas as combinações desses elementos e/ouetapas do método que realizam substancialmente a mesma funçãosubstancialmente do mesmo modo para conseguir os mesmos resultados estejaminseridas no escopo da invenção. Além disso, deverá ser reconhecido que asestruturas e/ou elementos e/ou etapas do método mostradas e/ou descritas emconjunto com qualquer forma ou modalidade revelada da invenção podem; estarincorporadas em qualquer outra forma ou modalidade revelada, descrita ousugerida como um modo geral de escolha de projeto. É pretendido, portanto, que ainvenção esteja limitada apenas como indicado pelo escopo das reivindicaçõesanexas a ela.
Claims (21)
1. Método para binarizar uma imagem, imagem essa que é composta de pixels, oreferido método caracterizado pelo fato de que compreende:dividir a referida imagem em duas semi-imagens;inicializar parâmetros locais com base nos valores de pixels que se situam numaárea adjacente a uma fronteira que separa as referidas semi-imagens; erealizar uma binarização separadamente para cada uma das referidas semi-imagens utilizando um limiar adaptativo, em que o referido limiar adaptativo écalculado para cada uma das referidas semi-imagens procedentes dos referidosparâmetros locais inicializados.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que osreferidos pixels estão dispostos em colunas e filas, em que a referida fronteira éuma linha vertical, em que os referidos parâmetros locais inicializadoscompreendem para cada fila uma soma inicial de valores de pixel na referida filana referida área adjacente à referida linha vertical, e em que o referido limiaradaptativo é adaptado para cada pixel em cada fila de cada semi-imagem combase numa soma em movimento com janelas procedente de uma soma inicialassociada a uma respectiva fila.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de queadicionalmente compreende dividir a referida imagem ao longo de uma linhahorizontal em duas semi-imagens adicionais, inicializar parâmetros locaisadicionais, os referidos parâmetros locais inicializados adicionais compreendendopara cada coluna uma soma inicial de valores de pixel numa área adjacente àreferida linha horizontal, e corrigir a referida imagem binarizada separadamenteem cada uma das referidas semi-imagens adicionais utilizando os referidosparâmetros locais inicializados adicionais.
4. Método, de acordo com a reivindicação 2 ou 3, caracterizado pelo fato de quea soma em movimento com janelas que é determinada quanto a um pixel emparticular é mediada com uma soma ^em movimento com janelas que édeterminada quanto a um pixel adjacente ao referido pixel em particular, antes dareferida soma em movimento com janelas ser usada para calcular um limiaradaptativo para o referido pixel em particular.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que osreferidos pixels estão dispostos em colunás e filas, em que a referida fronteira éuma linha horizontal, em que os referidos parâmetros locais inicializadoscompreendem para cada coluna uma soma inicial de valores de pixel na referidacoluna na referida área adjacente à referida linha horizontal, e em que o referidolimiar adaptativo é calculado para cada pixel em cada coluna de cada semi-imagem com base numa soma em movimento com janelas procedente de umasoma inicial associada a uma respectiva coluna.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de queadicionalmente compreende dividir a referida imagem ao longo de uma linhavertical em duas semi-imagens adicionais,^inicializar parâmetros locais adicionais,os referidos parâmetros locais inicializados adicionais compreendendo para cadafila uma soma inicial de valores de pixel numa área adjacente à referida linhavertical, e corrigir a referida imagem binarizada separadamente em cada uma dasreferidas semi-imagens adicionais utilizando os referidos parâmetros locaisinicializados adicionais.
7. Método, de acordo com a reivindicação 4 ou 5, caracterizado pelo fato de quea soma em movimento com janelas que é determinada quanto a um pixel emparticular é mediada com uma soma em movimento com janelas que édeterminada quanto a um pixel adjacente ao referido pixel em particular, antes dareferida soma em movimento com janelàs ser usada para calcular um limiaradaptativo para o referido pixel em particular.
8. Método, de acordo com uma das reivindicações precedentes, caracterizadopelo fato de que adicionalmente compreende uma etapa dé computar parâmetrosglobais para a referida imagem, em que o referido limiar adaptativo é calculadopara cada uma das referidas semi-imagens levando adicionalmente em conta osparâmetros globais.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que osreferidos parâmetros globais são determinados separadamente para cada umadas referidas semi-imagens.
10. Método, de acordo com a reivindicação 8 ou 9, caracterizado pelo fato de queos referidos parâmetros locais inicializados compreendem somas iniciais devalores de pixel na referida área adjacente à referida fronteira, em que limiaresadaptativos são calculados para pixels de cada semi-imagem com base na somaem movimento com janelas de valores dê pixel procedentes de uma respectivasoma inicial, e em que um limiar adaptativo para um pixel em particular édeterminado mediante aplicar as operações seguintes a uma soma em movimentoquanto ao pixel em particular:uma divisão por um número de pixels considerados na referida soma emmovimento para obter uma média em movimento;uma multiplicação com um valor de uma função de ajuste para a referida médiaem movimento, em que a referida função de ajuste tem um valor decrescentenuma primeira faixa de médias em movimento, um valor constante numa segundafaixa de médias em movimento e um adicional valor decrescente numa terceirafaixa de médias em movimento, as referidas faixas sendo definidas por umprimeiro e um segundo dos referidos valores de parâmetros globais computados; euma multiplicação com terceiro valor de parâmetro global computado que se situaentre o referido primeiro e o referido segundo valores de parâmetros globaiscomputados.
11. Método, de acordo com uma das reivindicações precedentes, caracterizadopelo fato de que a referida imagem é uma imagem a cores, o referido métodocompreendendo uma etapa precedente de converter a referida imagem a coresnuma imagem em escalas de cinza.
12. Método, de acordo com uma das reivindicações precedentes, caracterizadopelo fato de que adicionalmente compreende aplicar correções binárias à referidaimagem binarizada.
13. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que asreferidas correções binárias compreendem pelo menos um de uma filtragem médiabinária e uma filtragem morfológica binária.
14. Método, de acordo com uma das reivindicações precedentes, caracterizadopelo fato de que um processamento paralelo é realizado de acordo com pelomenos um dos seguintes:a referida inicialização de parâmetros locais é realizada em paralelo com umacomputação de parâmetros globais para a referida imagem;dentro da referida inicialização de parâmetros locais para uma imagem, na qual osreferidos pixels estão dispostos em colunas e filas, uma inicialização em separadodos parâmetros locais é realizada em paralelo para respectivamente pelo menosduas colunas ou pelo menos duas filas;a referida inicialização de parâmetros locais em uma direção é realizada emparalelo com uma inicialização adicional de parâmetros locais em uma outradireção;dentro da referida binarização um cálculo de um limiar adaptativo é realizado emparalelo para cada uma das referidas semi-imagens; edentro da referida binarização para uma imagem, na qual os referidos pixels estãodispostos em colunas e filas, um cálculo separado de um limiar adaptativo érealizado em paralelo para respectivamente pelo menos duas colunas ou pelomenos duas filas numa respectiva de uma Ias referidas semi-imagens.
15. Alinhamento de chips para processamento de imagem, caracterizado pelofato de que compreende para uma binarização de uma imagem composta depixels:uma parte de inicialização adaptada para dividir uma imagem em duas semi-imagens e para inicializar parâmetros locais com base nos valores que se situamnuma área adjacente a uma fronteira que separa as referidas semi-imagens; euma parte de binarização adaptada para realizar uma binarização separadamentepara cada de duas semi-imagens de uma imagem utilizando um limiar adaptativo,em que o referido limiar adaptativo é calculado para cada uma das referidas semi-imagens procedentes de parâmetros locais inicializados pela referida parte deinicialização.
16. Alinhamento de chips para processamento de imagem, de acordo com areivindicação 15, caracterizado pelo fato de que adicionalmente compreende umaparte de extração do parâmetro global adaptada para computar parâmetros globaispara a referida imagem, em que a referida parte de binarização está adaptadapara calcular o referido limiar adaptativo para cada uma das referidas semi-imagens levando em conta também os referidos parâmetros globais.
17. Dispositivo eletrônico, caraòterizado pelo fato de que compreende para umabinarização de uma imagem composta de pixels:uma parte de inicialização adaptada para dividir uma imagem em duas semi-imagens e para inicializar parâmetros locais com base nos valores que se situamnuma área adjacente a uma fronteira que separa as referidas semi-imagens; euma parte de binarização adaptada para realizar uma binarização separadamentepara cada de duas semi-imagens de uma imagem utilizando um limiar adaptativo,em que o referido limiar adaptativo é calculado para cada uma das referidas semi-imagens procedentes de parâmetros locais inicializados pela referida parte deinicialização.
18. Dispositivo eletrônico, de acordo ^com a reivindicação 17, caracterizado pelofato de compreender, adicionalmente, uma parte de extração do parâmetro globaladaptada para computar parâmetros globais para a referida imagem, em que areferida parte de binarização está adaptada para calcular o referido limiaradaptativo para cada uma das referidas semi-imagens levando em conta tambémos referidos parâmetros globais.
19. Dispositivo eletrônico, de acordo com a reivindicação 17 ou 18, caracterizadopelo fato de que o referido dispositivo eletrônico é um de um telefone móvel, umacâmera digital, um auxiliar pessoal digital, e um dispositivo portátil quecompreende uma funcionalidade câmera.
20. Produto de programa de software, caracterizado pelo fato de que um códigode software para binarizar uma imagem está armazenado, em que referidaimagem é composta de pixels, o referido código de software realizando as etapasseguintes quando está sendo executado por meio de uma unidade deprocessamento de um dispositivo eletrônico:dividir a referida imagem em duas semi-imagens;inicialização parâmetros locais com base nos valores que se situam numa áreaadjacente a uma fronteira que separa as referidas semi-imagens; erealizar uma binarização separadamente' para cada uma das referidas semi-imagens utilizando um limiar adaptativo, em que o referido limiar adaptativo écalculado para cada uma das referidas semi-imagens procedentes dos referidosparâmetros locais inicializados.
21. Produto de programa de software, de acordo com a reivindicação 20,caracterizado pelo fato de que quahdo está sendo executado por meio de umaunidade de processamento de um dispositivo eletrônico o referido código desoftware adicionalmente realiza uma etapa de computar parâmetros globais para areferida imagem, o referido limiar adaptativo sendo calculado para cada uma dasreferidas levando em conta também os referidos parâmetros globais.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/194,124 US7636467B2 (en) | 2005-07-29 | 2005-07-29 | Binarization of an image |
US11/194.124 | 2005-07-29 | ||
PCT/IB2006/052271 WO2007012986A1 (en) | 2005-07-29 | 2006-07-06 | Binarization of an image |
Publications (1)
Publication Number | Publication Date |
---|---|
BRPI0614403A2 true BRPI0614403A2 (pt) | 2011-03-29 |
Family
ID=37232940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0614403-9A BRPI0614403A2 (pt) | 2005-07-29 | 2006-07-06 | método para binarizar uma imagem; alinhamento de chips para processamento de imagem; dispositivo eletrÈnico; e produto de programa de software |
Country Status (7)
Country | Link |
---|---|
US (1) | US7636467B2 (pt) |
EP (1) | EP1910994B1 (pt) |
KR (1) | KR100945809B1 (pt) |
CN (1) | CN101228550A (pt) |
AT (1) | ATE546797T1 (pt) |
BR (1) | BRPI0614403A2 (pt) |
WO (1) | WO2007012986A1 (pt) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7817876B2 (en) * | 2006-04-12 | 2010-10-19 | Etron Technology, Inc. | Method of noisy signal analysis and apparatus thereof |
US7946491B2 (en) | 2006-08-03 | 2011-05-24 | Nokia Corporation | Method, apparatus, and computer program product for providing a camera barcode reader |
US8078001B2 (en) | 2007-05-11 | 2011-12-13 | Micron Technology, Inc. | Methods, apparatuses and systems for piecewise generation of pixel correction values for image processing |
US20080310721A1 (en) * | 2007-06-14 | 2008-12-18 | John Jinhwan Yang | Method And Apparatus For Recognizing Characters In A Document Image |
US8463068B2 (en) | 2007-08-09 | 2013-06-11 | Micron Technology, Inc. | Methods, systems and apparatuses for pixel value correction using multiple vertical and/or horizontal correction curves |
CA2598400A1 (en) * | 2007-08-22 | 2009-02-22 | Hazem Y. Abdelazim | System and method for onscreen text recognition for mobile devices |
KR100974900B1 (ko) * | 2008-11-04 | 2010-08-09 | 한국전자통신연구원 | 동적 임계값을 이용한 마커 인식 장치 및 방법 |
JP5540770B2 (ja) * | 2009-07-30 | 2014-07-02 | 株式会社リコー | 画像処理装置、画像処理方法及び画像処理プログラム |
EP2564779B1 (en) * | 2010-04-30 | 2017-08-30 | Konica Minolta Medical & Graphic, Inc. | Radiation image photography device |
US20120092374A1 (en) * | 2010-10-19 | 2012-04-19 | Apple Inc. | Systems, methods, and computer-readable media for placing a representation of the captured signature in a document |
US8928769B2 (en) * | 2011-03-31 | 2015-01-06 | Drs Sustainment Systems, Inc. | Method for image processing of high-bit depth sensors |
JP6102088B2 (ja) * | 2011-09-01 | 2017-03-29 | 株式会社リコー | 画像投影装置、画像処理装置、画像投影方法、画像投影方法のプログラム及びそのプログラムを記録した記録媒体 |
US9560073B2 (en) * | 2011-09-08 | 2017-01-31 | Drexel University | Reconfigurable antenna based solutions for device authentication and intrusion detection in wireless networks |
US8594446B2 (en) | 2012-01-12 | 2013-11-26 | Eastman Kodak Company | Method for enhancing a digitized document |
US11425395B2 (en) | 2013-08-20 | 2022-08-23 | Google Llc | Encoding and decoding using tiling |
US9172842B2 (en) | 2014-03-07 | 2015-10-27 | Lexmark International, Inc. | Image binarization for optical character recognition |
US9412036B2 (en) * | 2014-03-07 | 2016-08-09 | Samsung Electronics Co., Ltd. | Methods and systems for object detection based on column-wise and row-wise sums of pixel values |
US9342892B2 (en) | 2014-03-07 | 2016-05-17 | Lexmark International, Inc. | Image binarization |
US10353376B2 (en) * | 2015-01-29 | 2019-07-16 | Arconic Inc. | Systems and methods for modelling additively manufactured bodies |
US9679216B2 (en) * | 2015-05-07 | 2017-06-13 | The United States Of America As Represented By The Secretary Of The Air Force | Morphological automatic triangle orientation detection |
CN104914997A (zh) * | 2015-05-25 | 2015-09-16 | 华东师范大学 | 基于可穿戴计算机设备的字符快速识别系统及其识别方法 |
US10176402B2 (en) * | 2016-07-18 | 2019-01-08 | Apple Inc. | Pixel classification techniques |
CN109427047B (zh) * | 2017-08-28 | 2021-01-26 | 京东方科技集团股份有限公司 | 一种图像处理方法及装置 |
US10909406B2 (en) * | 2018-01-08 | 2021-02-02 | Newgen Software Technologies Limited | Image processing system and method |
KR102634726B1 (ko) * | 2019-09-18 | 2024-02-06 | 엘지디스플레이 주식회사 | 모션추정방법, 이를 이용한 표시장치 및 그의 구동방법 |
TWI726525B (zh) * | 2019-12-09 | 2021-05-01 | 新唐科技股份有限公司 | 影像二值化方法與電子裝置 |
CN111080665B (zh) * | 2019-12-31 | 2023-06-09 | 歌尔光学科技有限公司 | 图像边框识别方法、装置、设备和计算机存储介质 |
CN111583150B (zh) * | 2020-05-07 | 2023-06-16 | 湖南优象科技有限公司 | 一种二维码图像处理方法与系统 |
KR102564814B1 (ko) * | 2021-03-02 | 2023-08-08 | 주식회사 유진로봇 | 로봇의 주행 경로 결정 장치 및 방법 |
CN114049369B (zh) * | 2021-10-29 | 2024-07-02 | 农业农村部南京农业机械化研究所 | 基于自适应阈值分割算法的农料均匀性检测方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0677818B1 (en) | 1994-04-15 | 2000-05-10 | Canon Kabushiki Kaisha | Image pre-processor for character recognition system |
US5588435A (en) * | 1995-11-22 | 1996-12-31 | Siemens Medical Systems, Inc. | System and method for automatic measurement of body structures |
KR100222989B1 (ko) * | 1997-07-04 | 1999-10-01 | 윤종용 | 셔틀 방식의 독취 장치에서 독취된 이미지를 이진화하기 위한 이미지 처리 장치 및 방법 |
US6160913A (en) * | 1998-03-25 | 2000-12-12 | Eastman Kodak Company | Method and apparatus for digital halftone dots detection and removal in business documents |
US6757426B2 (en) * | 2001-03-21 | 2004-06-29 | Eastman Kodak Company | System and method for image processing by automatic color dropout |
US6842541B2 (en) * | 2001-10-31 | 2005-01-11 | Xerox Corporation | Adaptive color super resolution thresholding |
FR2840093B1 (fr) | 2002-05-27 | 2006-02-10 | Real Eyes 3D | Procede de numerisation par camera avec correction de la deformation et amelioration de la resolution |
KR100497399B1 (ko) * | 2003-07-22 | 2005-06-23 | 삼성전자주식회사 | 병렬처리에 의한 이미지 이진화 방법 및 장치 |
-
2005
- 2005-07-29 US US11/194,124 patent/US7636467B2/en not_active Expired - Fee Related
-
2006
- 2006-07-06 BR BRPI0614403-9A patent/BRPI0614403A2/pt not_active IP Right Cessation
- 2006-07-06 AT AT06766012T patent/ATE546797T1/de active
- 2006-07-06 WO PCT/IB2006/052271 patent/WO2007012986A1/en active Application Filing
- 2006-07-06 EP EP06766012A patent/EP1910994B1/en not_active Not-in-force
- 2006-07-06 KR KR1020087002389A patent/KR100945809B1/ko not_active IP Right Cessation
- 2006-07-06 CN CNA2006800270127A patent/CN101228550A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
ATE546797T1 (de) | 2012-03-15 |
CN101228550A (zh) | 2008-07-23 |
KR100945809B1 (ko) | 2010-03-05 |
EP1910994A1 (en) | 2008-04-16 |
US20070025625A1 (en) | 2007-02-01 |
KR20080021832A (ko) | 2008-03-07 |
WO2007012986A1 (en) | 2007-02-01 |
US7636467B2 (en) | 2009-12-22 |
EP1910994B1 (en) | 2012-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BRPI0614403A2 (pt) | método para binarizar uma imagem; alinhamento de chips para processamento de imagem; dispositivo eletrÈnico; e produto de programa de software | |
US7978909B2 (en) | Image processing apparatus, image processing method, computer program, and storage medium | |
KR101795823B1 (ko) | 광학 문자 인식되는 텍스트 영상의 텍스트 개선 기법 | |
US7826659B2 (en) | Image processing apparatus and method, computer program, and storage medium dividing an input image into band images | |
RU2721188C2 (ru) | Улучшение контраста и снижение шума на изображениях, полученных с камер | |
CN109829859B (zh) | 图像处理方法及终端设备 | |
US9773193B2 (en) | Image processing apparatus, image processing method, and program | |
JP2010525486A (ja) | 画像分割及び画像強調 | |
KR101731729B1 (ko) | Hdr(하이 다이나믹 레인지) 이미지를 생성하기 위한 방법 및 그 사용 장치 | |
JP2002314817A (ja) | マスクを用いて写真画像の鮮鋭度を局部的に変更するための方法、装置、プログラムおよび記録媒体、並びに画像再生装置 | |
WO2014074959A1 (en) | Real-time face detection using pixel pairs | |
US20230343119A1 (en) | Captured document image enhancement | |
CN112990140B (zh) | 手势轮廓提取方法、装置、可读存储介质及电子设备 | |
US10373329B2 (en) | Information processing apparatus, information processing method and storage medium for determining an image to be subjected to a character recognition processing | |
JP4460368B2 (ja) | 画像補正装置および方法,ならびに画像補正プログラム | |
WO2008156686A2 (en) | Applying a segmentation engine to different mappings of a digital image | |
CN114679542B (zh) | 图像处理方法和电子装置 | |
Mukaida et al. | Low-light image enhancement based on soft-closing-based illumination estimation and noise mitigation using correlation among RGB components | |
KR102026308B1 (ko) | 이미지에서 그림자를 제거하기 위한 방법 | |
JP2013197892A (ja) | 被写体認識装置、被写体認識方法及び被写体認識用コンピュータプログラム | |
US20240153050A1 (en) | Method and a device for reducing a dynamic range of an image | |
JPH08265572A (ja) | 画像処理装置 | |
CN108596874B (zh) | 图像清晰判定方法、装置,以及计算机设备、产品 | |
JP6314281B1 (ja) | 画像処理方法及び前景領域取得方法 | |
JP2018073320A (ja) | 画像処理装置、画像処理方法、および画像処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B08F | Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette] |
Free format text: REFERENTE A 6A ANUIDADE. |
|
B08K | Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette] |
Free format text: NAO APRESENTADA A GUIA DE CUMPRIMENTO DE EXIGENCIA. REFERENTE A 6A ANUIDADE. |