PROF. DR. JACQUES FACON

Documentos relacionados
PROF. DR. JACQUES FACON

PMR2560 Visão Computacional Conversão e Limiarização. Prof. Eduardo L. L. Cabral

PROF. DR. JACQUES FACON

Processamento Digital de Imagens

Processamento digital de imagens

SEL-0339 Introdução à Visão Computacional. Aula 5 Segmentação de Imagens

Processo de Afinamento de Stentiford

Processamento Digital de Imagens

TE073 PDS II Programa de Graduação em Engenharia Elétrica

Quadro Segmentação de Imagens

UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba. Segmentação

Fundamentos de Processamento Gráfico. Aula 3. Introdução ao Processamento de Imagens. Profa. Fátima Nunes

Universidade Federal do Rio de Janeiro - IM/DCC & NCE

UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba. Transformações Geométricas

Dr. Sylvio Barbon Junior. Departamento de Computação - UEL. 1 o Semestre de 2015

T4.1 Processamento de Imagem

Imagem digital. Elicardo Gonçalves

Capítulo III Processamento de Imagem

SEL Visão Computacional. Aula 2 Processamento Espacial

Processamento Digital de Imagens

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

UMA VISÃO SOBRE O PROCESSAMENTO DE IMAGENS. Rogério Vargas DCET UESC Home page: rogerio.in

Simulação Gráfica. Segmentação de Imagens Digitais. Julio C. S. Jacques Junior

Universidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Segmentação. Luiz Eduardo S. Oliveira, Ph.D.

Processamento de Imagens

Exemplos. Propagação (Reconstrução)

T4 Processamento de Imagem

4 Resultados Exemplo 1 Reprodução da Opacidade 2D

Processamento de Imagens Coloridas. 35M34 Sala 3D5 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Processamento de Imagem. Relaçionamentos entre pixels e Operações Aritméticas e Lógicas Professora Sheila Cáceres

Halftoning. Formalização do problema de halftoning:

Dr. Sylvio Barbon Junior. Departamento de Computação - UEL. 1 o Semestre de 2015

Processamento de Imagens Marcia A. S. Bissaco

Operações Pontuais. 1 operando. 2 operandos. Processamento e Análise de Imagem - A. J. Padilha - v ac

PMR2560 Visão Computacional Detecção de bordas. Prof. Eduardo L. L. Cabral

ESTUDO DE TÉCNICAS PARA SOLUÇÃO DE PROBLEMAS DE PROCESSAMENTO DE IMAGENS UTILIZANDO A LINGUAGEM PYTHON

SEL-0339 Introdução à Visão Computacional. Aula 2 Processamento Espacial

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

Descritores de Imagens

Aula 3 Processamento Espacial

Processamento de Imagens Filtragem Digital

Processamento Digital de Imagens

Processamento Digital de Imagens

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo

SEGMENTAÇÃO DE IMAGENS

TE073 PDS II Programa de Graduação em Engenharia Elétrica

CAPÍTULO 4 SEGMENTAÇÃO DE IMAGENS SAR

Dr. Sylvio Barbon Junior. Departamento de Computação - UEL. 1 o Semestre de 2015

Filtros espaciais (suavizaçào)

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

Realce de imagens parte 1: operações pontuais SCC0251 Processamento de Imagens

Visualização 2D: - Transformação window to viewport - Clipping

PROF. DR. JACQUES FACON

TÉCNICO DE INFORMÁTICA - SISTEMAS

SEL-0339 Introdução à Visão Computacional. Aula 2 Processamento Espacial (Parte 2)

7. Color Image Processing

Faculdade de Engenharia da Universidade do Porto ANÁLISE DE IMAGENS PARA EXTRACÇÃO DE CONTORNOS. Relatório

Processamento de Imagens

Radiométricas. Alexandre Xavier Falcão. Instituto de Computação - UNICAMP

Morfologia Matemática: algumas aplicações. Rosana Gomes Bernardo Universidade Federal Fluminense

Informática I. Aula Aula 22-12/11/2007 1

Respostas do Teste de Analise de Imagens :

Linguagens de Programação Aula 14

Processamento Digital de Imagens Aula 03

Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. Fundamentos de Computação Gráfica

Visão Computacional. Alessandro L. Koerich. Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal do Paraná (UFPR)

PROF. DR. JACQUES FACON MORFOLOGIA MATEMÁTICA FUZZY : ESTUDO COMPARATIVO

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Processamento de Imagens

PROF. DR. JACQUES FACON

FILTRAGEM DE IMAGEM NO DOMÍNIO ESPACIAL (Operações aritméticas orientadas à vizinhança)

TÓPICO EDIÇÃO BITMAP

3 Processamento e Análise Digital de Imagens

Exercícios Repetição

Processamento de Imagem. Filtragem no Domínio Espacial Professora Sheila Cáceres

METODOLOGIA PARA A QUANTIZAÇÃO DE CORES PELO MÉTODO SMCb: INTRODUÇÃO E EXEMPLOS DE RESULTADOS

Visão Computacional. Alessandro L. Koerich. Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal do Paraná (UFPR)

Organização e Arquitetura de Computadores I

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Aula 5 - Segmentação de Imagens

Tracking de movimentos usando marcadores circulares

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza

MouseCam: aplicação de controle do mouse via câmera

Resultados da Segmentação

Lógica de Hoare. Abordagem que usaremos: aplicar o método de Hoare sobre uma linguagem de programação imperativa simplificada.

Introdução FILTRAGEM NO DOMÍNIO DA FREQUÊNCIA

FILTROS NO DOMÍNIO ESPACIAL. Nielsen Castelo Damasceno

Exemplos de aplicação de álgebra booleana

Processamento digital de imagens

Universidade Federal de Sergipe Departamento de Matemática. Imagem* Profª. Maria Andrade. *Parte desta apresentação foi do Prof. Thales Vieira.

APLICAÇÃO DE TÉCNICAS DE PROCESSAMENTO DE IMAGENS DIGITAIS EM IMAGENS GERADAS POR ULTRA-SOM

Método de Otsu. Leonardo Torok 1

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

OPERAÇÕES PONTO A PONTO

Seminários de pesquisa do DAINF Transformações de imagens baseadas em morfologia

Processamento Digital de Imagens

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

Transcrição:

PUCPR - Pontifícia Universidade Católica Do Paraná PPGIA - Programa de Pós-Graduação Em Informática Aplicada PROF. DR. JACQUES FACON LIMIARIZAÇÃO PELO OPERADOR LAPLACIANO: MÉTODO DE CHEHIKIAN Resumo: Este artigo trata da técnica de binarização, através da informação obtida pelo operador Laplaciano. A limiarização tem como objetivo transformar uma imagem em tons de cinza em uma imagem preta e branca (binária). O operador Laplaciano gera uma imagem modificada, resultante da imagem original. A partir desta, e de um conjunto de regras aplicadas sobre a mesma, é possível obter o limiar global da imagem. Um valor limiar é um valor escolhido através de um algoritmo especifico, que serve para determinar um ponto intermediário no histograma. Através deste, é possível escolher se a cor de um pixel, a imagem limiarizada, será preta ou branca. A limiarização, e as técnicas para adaptar a imagem através do Laplaciano são o foco deste documento. Palavras-Chave: Limiarização, binarização, pelo operador Laplaciano, método de Chehikian. Introdução Atualmente, existem muitas imagens, e softwares para trabalhar com elas, disponíveis em vários formatos diferentes que podem ser interpretadas por uma máquina. O principal elemento de uma imagem é o pixel. O pixel é a essência de uma imagem e, além disso é o elemento principal para a análise das mesmas. Cada pixel existente em uma imagem consiste de um valor de intensidade que pode ser ligado ou desligado. Para imagens binárias, os valores que os pixels podem assumir são somente zero (desligado ou branco) e um (ligado ou preto). Para imagens em escalas de cinza, os valores assumidos podem estar entre e 55, onde indica preto absoluto e 55 indica branco absoluto. Os valores intermediários são tons de cinza que, se forem próximos a zero denotam tons próximos a preto e no caso contrário, denotam tons próximos a branco. Por fim, as imagens coloridas são compostas por três canais de valores, entre zero e 55, onde cada um dos canais está ligado a uma das cores primárias. Estes canais compõem o sistema RGB (Red Green Blue). Por outro enfoque, cada conjunto de pixels com uma intensidade constante, é uma seqüência de regiões. Neste aspecto, imagens podem ser entendidas como a união entre regiões de tamanhos diversos, e entre as fronteiras (encontros de várias regiões), também chamadas de bordas. A limiarização (ou binariazação) é um processo que visa, a partir de uma imagem em tons de cinza, obter uma imagem binária. Assim, a limiarização, resulta em uma transformação da imagem. Os pixels com tons mais próximos a preto e os que são totalmente pretos na imagem original vão gerar pixels pretos na imagem binária. De forma análoga, os pixels cuja intensidade for branco ou próximo a ele, irão originar pixels brancos na imagem transformada. A imagem limiarizada apresenta dois contextos distintos de análise. Um deles se refere ao primeiro plano da imagem, que é o texto, o gráfico ou objeto de interesse, o componente primordial; o outro corresponde ao fundo da imagem. O objetivo da binarização é marcar os pixels que pertencem que pertencem as regiões do primeiro plano como ligado e os pixels do segundo plano como desligados. O processo de limiarização tem seu uso muito difundido em scanners binários, que combinam a

digitalização com a limiarização da imagem para obter uma figura binária. Mesmo que nestes dispositivos o usuário, muitas vezes, possa adaptar a imagem de acordo com suas necessidades (ele pode escolher um valor de limiarização o limiar), de modo a adaptar uma imagem binariamente fraca, nem sempre isto produz resultados desejados. O produto final de uma imagem digitalizada e binarizada através de um scanner é geralmente pobre, já que qualquer captor introduz uma falta de nitidez mais visível, principalmente, nas bordas e detalhes (que são componentes com muitas variações no nível de cinza). Uma alternativa para contornar este problema, consiste em implementar uma das técnicas existentes de limiarização. A vantagem deste mecanismo é um bom nível de limiar pode ser encontrado automaticamente, assegurando que as imagens finais sejam boas e evitando diversas digitalizações repetidas de uma imagem para alcançar um padrão esperado. Várias técnicas são conhecidas, porém o foco principal deste trabalho enfatiza a Ponderação Laplaciana, presumindo a atuação do Laplaciano sobre uma imagem digitalizada em níveis de cinza.. Tipos de Limiarização Quando os valores dos pixels de ambos os planos tem valores consistentes (as regiões não se confundem muito) sobre a imagem inteira, então um único valor limiar é suficiente para deixar a imagem em um formato adequado. Quando um único limiar é utilizado para todos os pixels da imagem, tem-se uma Limiarização Global. Contudo, quando este processo não for o bastante (devido as deformidades dentro das regiões de primeiro e segundo planos), deve-se usar a Limiarização Adaptativa - a partir de uma janela 3x3. Com isto, é possível definir vários valores de limiar, um para cada região definida. Como implementamos a Ponderação Laplaciana através de uma técnica de Limiarização local adaptativa, e ela é o objetivo maior deste documento, a forma global não será mais discutida. A maneira mais direta para selecionar um valor global de limiar é através do uso de um histograma de intensidade dos pixels de uma imagem. Um histograma varre a imagem contando quantos pixels dela existem para cada tom de cinza existente. Com base nestes números obtém-se um gráfico, onde um dos eixos apresenta as intensidades existentes e o outro, o número de pixels para cada tom. O histograma é desenhado de modo a traçar linhas paralelas verticais, que indicam quantos pixels uma intensidade possui. Para uma imagem com primeiro e segundo planos bem diferenciados, o histograma terá dois picos distintos. O vale entre estes dois picos é o ponto de mínimo entre os dois pontos de máximo, e o valor da intensidade no vale será escolhido como o limiar global. Mas, um histograma nem sempre tem esta forma ideal. As imagens, nem sempre apresentam intensidades bem diferenciadas entre o primeiro e o segundo plano, o que gera contrastes significativos no histograma destas imagens. Em adição, o mecanismo empregado para encontrar um vale, pode não ser confiável. 3. Limiarização a partir pelo operador Laplaciano, método de Chehikian Um método para melhorar o enfoque do item anterior é pelo operador Laplaciano. O Laplaciano é um operador de segunda derivada, que pondera altamente as transições das regiões em bordas de ambos os objetos de interesse quanto de seus fundos respectivos (o operador de diferenciação amplifica as altas-freqüências zonas com muita variação de níveis de cinza). Assim, o histograma terá dois picos de áreas similares, e um limiar global poderá ser encontrado e aplicado sobre a imagem. É importante lembrar, que um ruído é também um elemento de alta-freqüência. Portanto, é necessário fazer um tratamento na imagem que amplifique as bordas, mas não os ruídos. 3.. O Operador Laplaciano Um operador de diferenciação é baseado sobre a noção de derivada. Do ponto de vista matemático, as regiões são caracterizadas por derivadas suaves e pouco acentuadas e, as fronteiras, por derivadas fortes e acentuadas. O princípio utilizado é baseado na derivação da imagem para acentuar as bordas contidas na mesma. Seja a imagem I (x,y) e f (x) a função que define quantos pixels uma região da imagem tem para cada nível de cinza. É possível perceber, que as derivadas de f (x) apresentam variações fortes ao nível das fronteiras.

3 Com base nas derivadas de segunda ordem de uma imagem, O Laplaciano é definido da seguinte forma: A intensificação das bordas pode ser realizada pela subtração da imagem I (x,y) com a derivada segunda de I (x,y). A máscara utilizada, resultante do operador de segunda derivada é a seguinte: onde: f ''( x, y) I ( x, y) L[ I ( x, y)] + f ' x (L) 4 f ''( x, y) f ' y 3.. A construção de uma Imagem Laplaciana De forma prática, para construir uma Imagem Laplaciana da imagem original, deve-se deslizar sobre toda a imagem uma janela do tamanho da máscara. Cada pixel que não pertencer aos extremos da imagem será transformado da seguinte maneira: O pixel que corresponder a posição, da máscara terá o seu valor alterado. Todos os valores da máscara são multiplicados, individualmente, pelos valores dos níveis de cinza correspondentes a cada posição da imagem; Os nove valores resultantes da multiplicação devem ser somados; A soma total representa o valor do operador aplicado ao pixel central dessa vizinhança. Esse processo repete-se até que se tenham todos os pixels da imagem que não pertençam à primeira e última linha e, à primeira e última coluna. Esta informação será utilizada para o desenvolvimento de um histograma global. Utilizando os valores encontrados pelo Laplaciano, é possível acentuar o histograma, e obter o valor limiar global, que permite escolher, a cor que determinado pixel deve ter (preto ou branco). 3.3. Binarização A partir da imagem gerada A, deve-se ler todas as linhas da mesma, para avaliar o nível superior (branco: B[ ) e inferior (preto: N[ ) da informação. O valor do operador Laplaciano no pixel [ é chamado de δ[. Para o tratamento da linha o cálculo de B[ e de N[ é dado pelas seguintes regras recursivas: seδ[ < B[ caso contrário seδ [ > N[ caso contrário A[ B[ j ] A[ N[ j ] Com isto, um Laplaciano negativo corresponde ao gradiente de decréscimo de intensidade. A intensidade do pixel corrente neste caso, é dada como um nível de alta referência; a baixa referência permanece inalterada. Por outro lado, um Laplaciano positivo corresponde a gradiente de crescimento de intensidade. O limiar para a binarização é, então, fornecido pela relação: N[ + B[ t[

4 4. Conclusão A técnica descrita neste documento é o resultado da construção de um algoritmo que proporciona uma ferramenta de binarização de imagens. Os resultados obtidos foram satisfatórios, pois se colocados em comparação com outras técnicas existentes, observa-se que em muitos casos, pelo operador Laplaciano do método de Chehikian, é melhor. Porém, cabe ressaltar, que nem sempre isso é verdade. No decorrer deste trabalho, foi possível sentir dificuldades para determinar os valores iniciais das imagens B e N, que foram inicializadas com os valores branco e preto, respectivamente. Também, no que diz respeito a obtenção do limiar, utilizamos a técnica local adaptativa através do cálculo da média aritmética, por ser esta técnica mais fácil, embora seja possível limiarizar uma imagem usando uma técnica local. 5. Referências Jean Pierre Cocquerez and Sylvie Philipp, Analyse d Images: filtrage et segmentation, Editor Masson, Paris, pp. 56-57, 995.

5 IMPLEMENTAÇÃO: // Algoritmo de Limiarizacao por Ponderaçao Laplaciana BOOL CLimiar::LimiarPonderacaoLaplaciana() unsigned long j; unsigned long soma,pixels; DWORD HGLOBAL int FAR BYTE FAR BYTE dwwidthb; Hnl, Hnb, Hnn; *lpl; *lpb,*lpn,*lpi; Limiar; if (!(VerifyConsistentIn() && VerifyConsistentOut()) ) return FALSE; CopyImageInOut(); ClockStart(); lpi pirw_imgin ->GetImageBits(); dwwidthb pirw_imgin ->GetImageWidthBytes(); Hnl GlobalAlloc(GPTR, m_totalpixels*sizeof(int )); // imagem para o laplaciano Hnb GlobalAlloc(GPTR, m_totalpixels*sizeof(byte)); // imagem dos niveis de branco Hnn GlobalAlloc(GPTR, m_totalpixels*sizeof(byte)); // imagem dos niveis de preto lpl (int FAR*) GlobalLock(Hnl); lpb (BYTE FAR*) GlobalLock(Hnb); lpn (BYTE FAR*) GlobalLock(Hnn); // aplica o operador laplaciano sobre lpbits e resultado em lpl for(i;i<m_height-;i++) lpl[i*m_width+ lpi[(i-)*dwwidthb+(j )] + lpi[(i )*dwwidthb+(j-)] + lpi[(i )*dwwidthb+(j+)] + lpi[(i+)*dwwidthb+(j )] - 4*lpI[(i )*dwwidthb+(j )]; // borda superior lpl[ ( j)] lpl[( )*m_width+( j)]; // borda inferior lpl[(m_height-)*m_width+( j)] lpl[(m_height-)*m_width+( j)]; // borda esquerda for(i;i<m_height;i++) lpl[( i)*m_width ] lpl[( i)*m_width+( )]; // borda direita for(i;i<m_height;i++) lpl[( i)*m_width+(m_width-)] lpl[( i)*m_width+(m_width-)];

6 // inicializa as imagens B e N for(i;i<m_totalpixels;i++) lpb[i]55; lpn[i]; // aplica o tratamento de binarizacao for(i;i<m_height-;i++) // para limiar em branco // se laplaciano for menor que if(lpl[i*m_width+<) // entao pega a valor da imagem original lpb[i*m_width+ lpi[i*dwwidthb+j ]; else // senao pega o valor da coluna anterior lpb[i*m_width+ lpb[i*m_width +j-]; // para limiar em preto // se laplaciano for maior que if(lpl[i*m_width+>) // entao pega o valor da imagem original lpn[i*m_width+ lpi[i*dwwidthb+j ]; else // senao pega o valor da coluna anterior lpn[i*m_width+ lpn[i*m_width +j-]; // calcula o limiar pela media dos valores locais soma ; pixels ; for(i;i<m_height-;i++) soma + (lpn[i*m_width+ + lpb[i*m_width+)/; pixels++; Limiar (UINT) (soma/pixels); // libera as imagens de trabalho GlobalUnlock(Hnl); GlobalUnlock(Hnb); GlobalUnlock(Hnn); GlobalFree(Hnl); GlobalFree(Hnb); GlobalFree(Hnn); SetLimiar(Limiar); AplicarLimiar(); ClockFinish("Limiarizacao por Ponderacao Laplaciana"); return TRUE;