VII Workshop de Visão Computacional – WVC 2011 Capítulo 2 A Morfologia Matemática e suas Aplicações em Processamento de Imagens Jacques Facon Resumo A Morfologia Matemática surgiu, a primeira vez, em 1964 das pesquisas conjuntas dos pesquisadores Franceses Georges Matheron e Jean Serra. Entre 1964 e 1968 foram estabelecidas as primeiras noções teóricas (Operação Hit-Miss, abertura, fechamento). Neste mesmo período foi criado o Centre de Morphologie Mathématique na École des Mines de Paris localizada em Fontainebleau (França). A força da Morfologia Matemática reside no fato de quantificar a intuição do pesquisador, analisando a estrutura geométrica das imagens a partir de um conjunto perfeitamente definido e conhecido pelo usuário chamado de Elemento Estruturante. Este vai interagir com cada entidade contida na imagem, modificando a sua aparência, a sua forma, o seu tamanho permitindo assim tirar algumas conclusões necessárias. A eficiência e também a dificuldade da morfologia matemática reside na escolha da deformação certa para transformar a intuição intelectual em aplicação prática. Outra grande vantagem da Morfologia Matemática é a sua simplicidade de implementação. Além do Elemento Estruturante, os dois outros pilares da Morfologia Matemática são as duas operações básicas, a erosão e a dilatação, a partir das quais, por composição, é possível realizar muitos outros operadores poderosos. O que faz que a Morfologia Matemática se destaca muito de outras técnicas de processamento de imagens onde, na maioria dos casos, as implementações não aproveitam das ferramentas já existentes. Por todas estas razões, a área da Morfologia Matemática foi e ainda é o centro de muitas atenções, de numerosas pesquisas que originaram descobertas sensacionais que revolucionaram a área de Processamento de Imagens. Pesquisadores do mundo inteiro usam e estudam novos rumos da Morfologia Matemática, principalmente da Morfologia Matemática para imagens coloridas. O que explica que emergeram várias “escolas” desta além da linha tradicional da École de Mines de Paris. Como por exemplo as esco- 61 VII Workshop de Visão Computacional – WVC 2011 las Americana e Holandesa, já estabelecidas faz já alguns anos. Mas também a escola Brasileira em plena expansão. As conseqüências destas diversas influências é a aparição de notações, de regras às vezes um pouco diferentes para cada escola. O que pode às vezes confundir o leitor. Para evitar ao máximo este tipo de confusões, o autor tentou seguir de forma mais fiel possível a linha tradicional da École de Mines de Paris. As notações adotadas seguem portando o formalismo de G. Matheron e de J. Serra. Com este capítulo, o autor pretende apresentar as definições das ferramentas básicas da Morfologia Matemática Binária e em Níveis de cinza, demonstrar como compor ferramentas mais complexas a partir destes operadores básicos e ilustrar suas aplicações através de exemplos didáticos, teóricos e práticos. 2.1. INTRODUÇÃO 2.1.1. Preâmbulo Composta das palavras gregas morphê (forma) e logos (ciência), a morfologia trata das formas que a matéria pode tomar. Por exemplo, a morfologia vegetal refere-se ao estudo da estrutura dos organismos vegetais. Da mesma maneira, a morfologia social é o estudo das estruturas da vida social. O que é morfologia matemática? De fato, seguindo esses exemplos, a morfologia matemática, inicialmente elaborada por Georges Matheron e Jean Serra, concentra seu esforço no estudo de estruturas geométricas presentes numa imagem através de ferramentas matemáticas. O princípio básico da morfologia matemática consiste em extrair informações relativas à geometria e à topologia de conjuntos desconhecidos de uma imagem a partir do elemento estruturante. O que é um elemento estruturante ? É um conjunto, completamente definido e conhecido pelo computador em forma e tamanho, que é comparado, a partir de uma transformação, aos conjuntos desconhecidos da imagem. O formato e o tamanho do elemento estruturante possibilitam testar e quantificar de que maneira o elemento estruturante “está ou não está contido” na imagem. O resultado dessa transformação permite avaliar estes conjuntos. 2.1.2. Elemento estruturante Para facilitar a interpretação do conteúdo das imagens, os elementos estruturantes devem ser os mais simples possíveis. Na maioria dos casos, os elementos estruturantes são escolhidos em função das propriedades de convexidade, não-convexidade, isotropia e anisotropia. Do ponto de vista digital, um elemento estruturante é definido pelos pixels que o formam. Na notação que será usada a seguir, os pixels que formam um elemento estruturante serão representados por “.” e por “•”. Um pixel marcado “.” será um pixel do fundo, inativo ou neutro, que não interagirá com a imagem f . Este tipo de pixel simplesmente aparecerá no elemento estruturante para visualizar o seu aspecto geométrico. Um pixel marcado “•” significará um pixel ativo que tem um papel a desenvolver na interação com a imagem f . Os pixels ativos “•” do elemento estruturante criam um sub-conjunto 62 VII Workshop de Visão Computacional – WVC 2011 que vai agir com a imagem f . O resultado dessa interação será colocado numa posição específica, a do ponto central PC do elemento estruturante, na imagem no momento da ação. O símbolo “( )” representará este ponto central PC no elemento estruturante. Por • • • exemplo, •• (•)• •• . Na maioria dos exemplos apresentados, o ponto central do elemento estruturante correspondará a seu centro físico. caso, . num objetivo de simplificação, . Neste • . • . o símbolo “( )” será omitido. Por exemplo, •. •. •. = •. (.)• •. Freqüentemente será necessário introduzir o elemento estruturante transposto B̃ que representa o elemento estruturante obtido por central deB. pela origem {o } . simetria • . . . do sistema de referência. Por exemplo, Se B = .. (.). •. então B̃ = •. (.)• .. Nas diferentes transformações que serão abordadas, Bx representará o elemento estruturante B centrado no pixel x. Em função do contexto e por necessidade de simplificação, Bx será simplesmente notado B. Os elementos na morfologia são o ho . . . estruturantes maisutilizados . • matemática . • . . • • • . • . • • • rizontal BH = . . . , o vertical BV = . • . , o cruz BC = . • . , o quadrado BQ = ⎧. . . . . . .⎫ ⎪ ⎬ ⎨ .. •. •• •• •• •. .. ⎪ • • • • • • . • • • • • . e o Rhombus BR = . • • • • • . • • • ⎪ ⎩. . • • • . .⎪ ⎭ . . . . . . . Da mesma maneira, no caso de imagens binárias, a imagem digital f contêm dois tipos de informação, o fundo (representado por “.”) e os pixels relevantes (representados por “•”). Na forma digital, a imagem f será representada entre “[ ]” da seguinte forma: Exemplo 2.1 : Representação da imagens binária f . . . . . f= . . . . • • . . • • • . . • • . . . . . 2.1.3. Operadores Elementares Um conceito fundamental em Morfologia Matemática é o de relação de ordem. Seja E um conjunto não vazio. A relação habitualmente usada no caso de sub-conjuntos de E é a de inclusão que permite comparar certos sub-conjuntos entre si. Seja P(E ) a coleção de todos os sub-conjuntos de E associada à relação de inclusão ⊂. P(E ) representa um conjunto parcialmente ordenado anotado (P(E ), ⊂). [BB94] mostraram que o conjunto (P(E ), ⊂), provido das operações de união e interseção estendidas às famílias em P(E ), forma um reticulado completo. Sejam ψ um operador sobre P e X uma subcoleção de P . [BB94] demonstraram que qualquer operador pode ser decomposto a partir de quatro classes fundamentais de operadores, chamados de operadores elementares, que são a erosão , a anti-erosão , a dilatação e a anti-dilatação . Definição 2.1 Um operador ψ é uma: • dilatação se e somente se, para todo X ⊂ P, ψ (supX ) = sup(ψ (X )) 63 VII Workshop de Visão Computacional – WVC 2011 • erosão se e somente se, para todo X ⊂ P, ψ (in f X ) = in f (ψ (X )) • anti-dilatação se e somente se, para todo X ⊂ P, ψ (supX ) = in f (ψ (X )) • anti-erosão se e somente se, para todo X ⊂ P, ψ (in f X ) = sup(ψ (X )) 2.2. OPERADORES DA MORFOLOGIA MATEMÁTICA BINÁRIA 2.2.1. Erosão e Dilatação Binárias Serão apresentados aqui os dois operadores básicos que constituem os pilares da Morfologia Matemática binária, a erosão e a dilatação, 2.2.1.1. Erosão binária [Ser82] define a operação de erosão binária ε da seguinte maneira: A erosão de uma imagem f pelo elemento estruturante B é: Definição 2.2 ε B ( f ) = {x ∈ E : Bx ⊂ f } onde Bx representa o elemento estruturante B transladado na posição x. Segunda a definição 2.2, deve-se deslizar o elemento estruturante B sobre a imagem f e para cada pixel x verificar a configuração de sua vizinhança em relação à estrutura do elemento estruturante B. Por ser binários, a imagem f e o elemento estruturante B contém dois tipos de informação, o fundo e os pixels relevantes. O significado da definição 2.2 é que o elemento estruturante Bx , posicionado e centrado no pixel x de f , tenta aparelhar-se com a vizinhança de x. Entende-se que cada pixel relevante de Bx deve encontrar-se na mesma posição na vizinhança de x. Caso seja verificado, o pixel x na imagem erodida será considerado um pixel relevante e será preservado. Caso contrário, ele será considerado como irrelevante e será apagado. [Ser82] e [BB94] demonstraram que a primeira definição 2.2 da erosão pode ser relacionada com a subtração de Minkowski [Min03]. Sejam dois conjuntos P e Q, a subtração de Minkowski do conjunto P em relação a Q, denotada P Q, é definida como sendo: (1) P Q = {x ∈ E : ∀b ∈ Q, ∃a ∈ P : x = a − b} = ∩(b∈Q) Pb Seguindo o formalismo de [Ser82], tem-se uma segunda formulação da erosão: A erosão da imagem f pelo elemento estruturante B é: Definição 2.3 ε B( f ) = ∩(b∈B̃) fb = ∩(b∈B) f−b onde B̃ representa o elemento estruturante obtido por simetria central de B pela origem {o} do sistema de referência, e é chamado de B transposto 64 VII Workshop de Visão Computacional – WVC 2011 Nesta nova definição, pode-se constatar que o elemento estruturante B não desliza mais na imagem f , mas que, ao contrário, é a imagem f que vai se deslocar em função das posições permitidas pelo elemento estruturante B. Entende-se que, na diferença da definição 2.2, tem-se que transladar f e não mais B. Os deslocamentos são realizados em relação ao ponto central de B̃. Qualquer que seja a definição de erosão, fica fácil adivinhar o que este operador faz . Veja na figura 2.1 um exemplo simples de uma imagem poluída por um leve ruído preto regular. Aplicando a erosão • • • nos conjuntos pretos da imagem, usando o elemento estruturante quadrado BQ = •• •• •• , percebe-se o que o ruído preto desaparece. a) (b) Figura 2.1. Limpeza de uma imagem ruidosa: (a) Image Original, (b) Erosão dos conjuntos pretos. A figura 2.2 ilustra um exemplo mais complexo de uma imagem cujo fundo é poluída por um ruído preto e que contêm alguns conjuntos furados, outros conectados e ainda alguns prejudicados internamente por um ruído branco irregular. Aplicando a erosão nos conjuntos pretos da imagem, usando o mesmo elemento estruturante quadrado BQ , percebe-se o que o ruído preto quase desaparece na sua totalidade. Mas que o ruído branco regular se expande, prejudicando o conjunto circular. Aplicando a erosão com o elemento estruturante ainda maior 3 × BQ , fica evidente que todo o ruído preto desaparece, que o ruído branco se expande, fazendo desparecer quase por completo o conjunto circular. Percebe-se portanto que, a medida que o elemento estruturante cresce, todos os conjuntos se modificam diminuindo de tamanho e sofrem desgastes maiores. Não somente a aparência externa muda, mas em caso de conjuntos apresentando cavidades internas, as mesmas aumentam de tamanho. 2.2.1.2. Dilatação Binária [Ser82] define a operação de dilatação binária δ da seguinte maneira: Definição 2.4 A dilatação de uma imagem f pelo elemento estruturante B é: δ B ( f ) = {x ∈ f : Bx ∩ f = 0} onde Bx representa o elemento estruturante B transladado na posição x. 65 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) Figura 2.2. Erosões de conjuntos pretos: (a) Image Original, (b) Com o elemento estruturante BQ , (c) Com o elemento estruturante 3 × B Q . Segundo a definição 2.4, o elemento estruturante Bx , posicionado e centrado em cada pixel x de f desliza na imagem f e verifica uma possível interseção com a vizinhança de x. Caso seja verdadeiro, o ponto central na imagem resultado será considerado um pixel relevante e será marcado como tal. Caso contrário, ele será considerado como irrelevante e será apagado. [Ser82] e [BB94] demonstraram que a primeira definição 2.4 da dilatação pode ser relacionada com a adição de Minkowski [Had50] [Had57]). Sejam dois conjuntos P e Q, a adição de Minkowski do conjunto P em relação a Q, denotada P ⊕ Q, é definida como sendo: P ⊕ Q = {x ∈ E : ∃a ∈ P e ∃b ∈ Q : x = a + b} = ∪b∈Q Pb (2) Seguindo o formalismo de [Ser82], temos a seguinte formulação: A dilatação de uma imagem f pelo elemento estruturante B é: Definição 2.5 δ B( f ) = f ⊕ B̃ = ∪(b∈B̃) fb = ∪(b∈B) f−b onde B̃ representa o elemento estruturante obtido por simetria central de B pela origem {o} do sistema de referência, e é chamado de B transposto Na definição 2.5, é possível constatar que a imagem f a ser dilatada é deslocada em função das posições permitidas pelo elemento estruturante B̃. Entende-se que, na diferença da definição 2.4, não é mais B̃ que translada-se mas f . Os deslocamentos são realizados em relação ao ponto central de B̃. Novamente, qualquer que seja a definição, é fácil prever o que dilatar significa. Veja na figura 2.3 um exemplo simples de uma imagem com conjuntos prejudicados internamente por um leve ruído branco regular. Aplicando a dilatação nos conjuntos 66 VII Workshop de Visão Computacional – WVC 2011 a) (b) Figura 2.3. Limpeza de uma imagem ruidosa: (a) Image Original, (b) Dilatação dos conjuntos pretos. • pretos da imagem, usando o elemento estruturante quadrado B Q = •• o que o ruído branco desaparece e que os conjuntos são preenchidos. • • • • • • , percebe-se A figura 2.4 ilustra um exemplo mais complexo de uma imagem apresentando um fundo poluída por um ruído preto e que contêm alguns conjuntos furados, outros conectados e ainda alguns prejudicados internamente por um ruído branco irregular. Aplicando a dilatação nos conjuntos pretos da imagem, usando o elemento estruturante quadrado BQ , percebe-se o que o ruído branco quase desaparece na sua totalidade, que os conjuntos prejudicados internamente recuperam o aspecto original. Mas que o ruído preto regular se expande. Aplicando a dilatação com o elemento estruturante ainda maior 3 × B Q , fica evidente que todo o ruído branco desaparece, que o ruído preto regular se expande mais, chegando a grudar em alguns conjuntos, criando deformações. Percebe-se portanto que, a medida que o elemento estruturante cresce, todos os conjuntos aumentam gradativamente de tamanho e todas as cavidades internas diminuem. Não somente as aparências interna e externa mudam, mas em caso de conjuntos próximos, os mesmos podem ficar conectados. (a) (b) (c) Figura 2.4. Dilatações de conjuntos pretos: (a) Image Original, (b) Com o elemento estruturante BQ , (c) Com o elemento estruturante 3 × B Q . 67 VII Workshop de Visão Computacional – WVC 2011 2.2.1.3. Implementação avançada da Erosão e da Dilatação binárias As erosão e dilatação binárias podem ser programadas de duas maneiras, seguindo as definições 2.2 ou 2.3, e as definições 2.4 ou 2.5, respectivamente. Qual é a forma mais eficiente de programar erosão e dilatação binárias rápidas? Uma primeira diferença importante se situa na ausência de verificação quando são aplicadas as definições empregando a subtração e adição de Minkowski (definições 2.3 e 2.5). Enquanto nas definições baseadas no deslocamento do elemento estruturante B em cada pixel da imagem, se deve verificar o resultado da interação de B com a imagem f (o que consome tempo), nas definições pelos operadores de Minkowski, as operações são simplesmente realizadas. Uma segunda grande diferença se situa no fato que as definições baseadas nos operadores de Minkowski podem ser implementadas usando a instrução BIT BLT da linguagem C, C + + ou ainda Del phi. Também existe uma instrução parecida no Linux. A grande vantagem de utilizar este tipo de instrução é que ela emprega a memória do monitor do computador para agilizar a erosão e e dilatação em tempo real. Portanto uma forma de erodir e dilatar de forma veloz imagens binárias é empregar tal instrução para agilizar a subtração e adição de Minkowski. 2.2.1.4. Efeitos do elemento estruturante, da Erosão e da Dilatação binárias A figura 2.5 ilustra o impacto de vários elementos estruturantes (ver parágrafo 2.1.2) Cruz BC (em azul), Quadrado BQ (em verde) e Rhombus BR (em vermelho) em conjuntos de geometrias diversas. É óbvio que maior for o elemento estruturante, mais agressivas serão a erosão e a dilatação. Mas os elementos estruturantes não imprimem a sua marca somente na quantidade de pixels removidos ou adicionados, mas também no formato que os conjuntos atingem. Um conjunto circular erodido pelo Cruz BC (em azul) ou Quadrado BQ (em verde) perde progressivamente o seu aspecto redondo a medida que o tamanho do elemento estruturante aumenta. Um conjunto quadrado dilatado pelo Cruz BC (em azul) ou Rhombus BR (em vermelho) perde progressivamente o seu aspecto quadrado a medida que o tamanho do elemento estruturante cresce. O que significa que a geometria pode variar e se deformar com uso de um elemento estruturante inapropriado. Pelos exemplos anteriores (figuras 2.1, 2.2, 2.3, 2.4), pode ser constatado que a erosão e dilatação modificam todos os conjuntos. Em todos os casos, enquanto que esses ficam menores após a erosão, os mesmos ficam maiores após a dilatação. Agrupando os resultados apresentados nesses exemplos, pode-se concluir que, por erosão, os efeitos obtidos são: • Diminuir conjuntos, desconectá-los e eventualmente eliminá-los caso o tamanho do elemento estruturante for maior; • Aumentar e abrir cavidades. Enquanto que, por dilatação, os efeitos obtidos são: • Aumentar conjuntos e eventualmente conectá-los caso o tamanho do elemento estruturante for maior que o espaço entre eles; 68 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) Figura 2.5. Influência dos elementos estruturantes Cruz, Quadrado e Rhombus: (a) Imagem Original (b) Na erosão (c) Na dilatação. • Diminuir e preencher cavidades. 2.2.1.5. Propriedades da Erosão e da Dilatação binárias Vale a pena esclarecer que as operações de erosão e de dilatação são ditas duais e que a interpretação da dilatação é complementar da interpretação da erosão. O complemento da proposição “Bx está incluído em f ” é a proposta “a interseção de B x e f não é vazia”. Propriedade 2.1 Enquanto a erosão é uma transformação não comutativa, a dilatação é comutativa: ε B( f ) = ε f (B) δ B ( f ) = δ f (B) (3) Propriedade 2.2 A erosão e a dilatação por um ponto reduzem-se a uma translação. Como conseqüência, a dilatação e a erosão são invariantes por translação. ε x ( f ) = δ x ( f ) = fx (4) Propriedade 2.3 A erosão e a dilatação tem comportamentos interessantes em relação à interseção e à união. 69 VII Workshop de Visão Computacional – WVC 2011 δ B∪B ( f ) = δ B ( f ) ∪ δ B ( f ) (5) Pelo uso da dualidade que existe entre a erosão e a dilatação, tem-se: ε B∪B ( f ) = ε B ( f ) ∩ ε B ( f ) (6) ε B ( f ∩ g) = ε B ( f ) ∩ ε B (g) (7) e Propriedade 2.4 A erosão e a dilatação têm duas propriedades interessantes relativas à repetição. B (B̃) B (B̃) A primeira é: ε B (ε B ( f )) = ε δ A segunda é: δ B (δ B ( f )) = δ δ (f) (8) (f) (9) Essas propriedades são fundamentais porque mostram que: • Erosões e dilatações com elementos estruturantes grandes podem ser decompostas em seqüências de erosões e dilatações com elementos estruturantes menores. Essa propriedade é particularmente interessante para elementos estruturantes convexos. O que explica que, novamente, os elementos estruturantes mais usados são simples, como BH , BV , BC . ⎧. . . . . . .⎫ ⎪ ⎨ .. •. •• •• •• •. .. ⎪ ⎬ Veja o exemplo 2.2 da erosão da imagem f = .. •• •• •• •• •• .. pelo elemento es⎪ ⎩. . • • • . .⎪ ⎭ . . . . . . . truturante BR . A erosão de f pode ser realizada diretamente ou ainda por duas erosões sucessivas, a primeira pelo elemento estruturante BC seguida da segunda pelo elemento estruturante BQ . Ou ainda o inverso. Exemplo 2.2 ⎧ . ⎪ ⎪ ⎪ ⎨ .. . ε ⎪ . ⎪ ⎪ ⎩. . . . • • • . . . • • • • • . . • • • • • . . • • • • • . . . • • • . . . . . . . . . ⎫ ⎪ ⎪ ⎪ ⎬ ⎪ ⎪ ⎪ ⎭ ⎡. ⎢ (⎣ . . . . . . . . • • • . . . • • • • • . . • • • • • . . • • • • • . . . • • • . . . . . . . . . ⎤ ⎥ ⎦) = ε ⎡. ⎢ = ⎣ 70 . . . . . . • • • • • • • • • . . . . . . . . . . . . . . . . . • . . . (ε . . . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎦ . • . • • • . • . ⎡. ⎢ (⎣ . . . . . . . . • • • . . . • • • • • . . • • • • • . . • • • • • . . . • • • . . . . . . . . . ⎤ ⎥ ⎦)) VII Workshop de Visão Computacional – WVC 2011 • Elementos estruturantes grandes podem ser decompostos em elementos estruturantes menores. O que explica que os elementos estruturantes mais usados são simples, como BH , BV , BC (ver parágrafo 2.1.2). O exemplo a seguir 2.3 mostra o significado dessa propriedade. O elemento estruturante Rhombus B R (que simula o menor elemento estruturante circular) pode ser decomposto a partir do elemento estruturante cruz BC dilatado pelo elemento estruturante quadrado transposto B˜Q , ou ainda o inverso. Onde B̃ representa o transposto de B obtido por simetria central pela origem do sistema de referência. Como ambos BC e BQ são simétricos, B˜C = BC e B˜Q = BQ . Seja portanto: Exemplo 2.3 BR = δ BQ (B˜C ) = δ BC (B˜Q ) = ⎧. ⎪ ⎨ .. ⎪ ⎩ . . • • • . . . . . . . • • • • • . . • • • • • . . • • • • • . . . • • • . . . . . . . . . ⎫ ⎪ ⎬ ⎪ ⎭ =δ . • . • • • . • . ( • • • • • • • • )=δ • • • • • • • • • • ( . • . • • • . • . ) Ou ainda no exemplo 2.4 do grande elemento estruturante a seguir que . •convexo . • • • pode ser composto a partir de outro bem menor BC = . • . por 7 dilatações sucessivas da seguinte maneira: Exemplo 2.4 ⎧. . . . . . . . . . . . ⎪ ⎪ . . . . . . ⎪ ⎪ . . . . . • ⎪ ⎪ . ⎪ ⎪ . .. .. •. •• •• ⎪ ⎪ ⎨ .. •. •• •• •• •• ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ • . . . . . . . . • • . . . . . . . • • • . . . . . . • • • • . . . . . • • • • • . . . . • • • • • • . . . . . • • • • • • • • • • • • • . . . • • • • • • • • • • • • • • • . • • • • • • • • • • • • • • • • • . • • • • • • • • • • • • • • • . . . • • • • • • • • • • • • • . . . . . • • • • • • • • • • • . . . . . . . • • • • • • • • • . . . . . . . . . • • • • • • • . . . . . . . . . . . • • • • • . . . . . . . . . . . . . • • • . . . . . . . . . . . . . . . • . . . . . . . . ⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎬ =δ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ . • . • • • . • . (δ . • . • • • . • . (... δ . • . • • • . • . ( . • . • • • . • . ))) vezes 7 Propriedade 2.5 A erosão e a dilatação são operações crescentes. f ⊂ f =⇒ ε B ( f ) ⊂ ε B ( f ) =⇒ δ B ( f ) ⊂ δ B ( f ) (10) E pela dualidade: B ⊂ B =⇒ ε B ( f ) ⊂ ε B ( f ) =⇒ δ B ( f ) ⊂ δ B ( f ) 71 (11) VII Workshop de Visão Computacional – WVC 2011 Propriedade 2.6 Enquanto que a erosão é uma operação anti-extensiva, a dilatação é uma operação extensiva. ε B( f ) ⊂ f ⊂ δ B( f ) (12) Propriedade 2.7 As erosão e dilatação são transformações contínuas. 2.2.2. Detecção de bordas O contorno é um dos conceitos mais importantes da área de Processamento de Imagens. A obtenção morfológica do contorno de conjuntos em imagens binárias é uma tarefa muito fácil. Uma maneira simples consiste em comparar imagem original com a versão erodida ou dilatada, como segue: Contorno por erosão: =⇒ f − ε B ( f ) Contorno por dilatação: =⇒ δ B ( f ) − f (13) (14) Foi comprovado que o melhor elemento estruturante para obter contornos de um . • . • • • pixel de espessura e sem falha é BC = . • . A figura 2.6 exemplifica a obtenção do contorno de conjuntos pretos numa imagem por erosão com o elemento estruturante BC (a) (b) Figura 2.6. Obtenção do contorno: (a) Imagem original (b) Contorno por erosão. 2.2.3. Abertura e Fechamento Binários Foi visto anteriormente que a erosão e a dilatação podem corrigir defeitos numa imagem com desconectar e eliminar conjuntos ou ainda preencher cavidades etc... Porém, nenhum conjunto retocado por essas operações mantém o tamanho original. A erosão reduz enquanto que a dilatação engorda. A partir das propriedades de iteratividade e de dualidade da erosão e dilatação, é possível filtrar reduzindo o impacto às características geométricas dos conjuntos processados. 72 VII Workshop de Visão Computacional – WVC 2011 2.2.3.1. Abertura binária Como eliminar as partículas indesejáveis sem modificar o tamanho dos outros conjuntos? Intituivamente, pode-se prever que esta operação consiste em erodir e depois dilatar o resultado da erosão. Define-se assim uma nova operação morfológica chamada de “abertura binária” e o novo conjunto processado pelo elemento estruturante B chamar-se-á de conjunto aberto por B Definida por [Ser82], a abertura binária γ escreve-se como sendo: A abertura γ de uma imagem f pelo elemento estruturante B Definição 2.6 é: γ B ( f ) = δ B (ε B̃ ( f )) onde B̃ representa o transposto de B obtido por simetria central pela origem {o} do sistema de referência Veja novamente o exemplo da figura 2.1. Por erosão conjuntos pretos da • • •dos imagem, usando o elemento estruturante quadrado B Q = •• •• •• , foi possível remover o ruído preto. Mas, como já explicado anteriormente, o tamanho original do conjunto filtrado não foi mantido. Aplicando em seguida uma dilatação com o mesmo elemento estruturante, tem-se o re-estabelecimento do tamanho original. A figura 2.7 ilustra tal resultado. a) (b) (c) Figura 2.7. Limpeza de uma imagem pouco ruidosa: (a) Image Original, (b) Erosão dos conjuntos pretos seguida de (c) Dilatação dos conjuntos pretos. A figura 2.8 exemplifica a limpeza de uma imagem pesadamente contaminada por partículas pretas indesejáveis usando o processo de abertura com os elementos estruturantes 5 × BQ e 4 × BR . Percebe-se que a escolha do elemento estruturante modifica o resultado final. Conforme explicado no parágrafo 2.2.1.4, os elementos estruturantes imprimem o seu formato. Na figura 2.8-(b), onde é usado o elemento estruturante quadrado 5 × BQ , o formato do conjunto quadrado é mantido enquanto o conjunto circular fica imperfeito. Na figura 2.8-(c), onde é usado o elemento estruturante arredondado 4 × BR , o formato do conjunto circular é mantido enquanto o conjunto quadrado perde os cantos. 73 VII Workshop de Visão Computacional – WVC 2011 a) (b) (c) Figura 2.8. Limpeza de uma imagem muito ruidosa: (a) Image Original, (b) Abertura com BQ , (b) Abertura com BR . A figura 2.9 exemplifica a limpeza de uma imagem poluída por um ruído preto e que contêm conjuntos furados, conjuntos conectados e conjuntos prejudicados internamente por um ruído branco irregular. Usando o processo de abertura com o elemento estruturante 2 × BQ , percebe-se que o ruído preto desaparece, que o ruído branco permanece e se expande prejudicando os conjuntos contaminados por tal ruído. a) (b) (c) Figura 2.9. Limpeza de uma imagem ruidosa: (a) Image Original, (b) Erosão dos conjuntos pretos seguida de (c) Dilatação dos conjuntos pretos. 2.2.3.2. Fechamento binário Como preencher cavidades sem modificar o tamanho dos outros conjuntos? Intituivamente, pode-se prever que esta operação consiste em dilatar e depois erodir o resultado da dilatação. Define-se assim uma nova operação morfológica chamada de “fechamento binário” e o novo conjunto processado pelo elemento estruturante B chamar-se-á de conjunto fechado por B Definido por [Ser82], o fechamento binário φ escreve-se como sendo: O fechamento φ de uma imagem f pelo elemento estruturante Definição 2.7 B é: φ B( f ) = ε B (δ B̃ ( f )) 74 VII Workshop de Visão Computacional – WVC 2011 onde B̃ representa o transposto de B obtido por simetria central pela origem {o} do sistema de referência Veja novamente o exemplo da figura 2.3. Por dilatação • • • dos conjuntos pretos da imagem, usando o elemento estruturante quadrado B Q = •• •• •• , foi possível eliminar o ruído branco, resultando no preenchimento dos conjuntos pretos. Mas, como já explicado anteriormente, o tamanho original do conjunto filtrado não foi mantido. Aplicando em seguida uma erosão com o mesmo elemento estruturante, tem-se o re-estabelecimento do tamanho original. A figura 2.10 ilustra tal resultado. a) (b) (c) Figura 2.10. Limpeza de uma imagem pouco ruidosa: (a) Image Original, (b) Dilatação dos conjuntos pretos seguida de (b) Erosão dos conjuntos pretos. A figura 2.11 ilustra um exemplo mais complexo de uma imagem poluída por um ruído preto que contém conjuntos furados, conjuntos conectados e conjuntos prejudicados internamente por um ruído branco irregular. Usando o processo de fechamento com o elemento estruturante 2 × BQ , percebe-se que o ruído preto permanece cuja partes ficaram grudadas a conjuntos e que os conjuntos contaminados por partículas brancas são corrigidos. a) (b) (c) Figura 2.11. Limpeza de uma imagem ruidosa: (a) Image Original, (b) Dilatação dos conjuntos pretos seguida de cb) Erosão dos conjuntos pretos. 75 VII Workshop de Visão Computacional – WVC 2011 2.2.3.3. Efeitos da Abertura e do Fechamento binários Agrupando os resultados apresentados nos exemplos anteriores (figuras 2.7, 2.8, 2.9, 2.10, 2.11 ), pode-se concluir que, a abertura: • Pode separar conjuntos conectados. Para isto, é preciso usar elementos estruturantes de tamanho maior que a conexão: • Pode eliminar conjuntos. Para isto, faz-se necessário usar elementos estruturantes de tamanho maior que os conjuntos: • Nivela os contornos pelo interior; • Devolve conjuntos abertos mais regulares que os conjuntos originais; • Gera imagens menos ricas em detalhes que as imagens originais. Enquanto que o fechamento: • Pode conectar conjuntos separadas. Para isto, é preciso usar elementos estruturantes de tamanho maior que o intervalo que os separa: • Pode preencher buracos e cavidades. Para isto, faz-se necessário usar elementos estruturantes de tamanho maior que os buracos e cavidades: • Nivela os contornos pelo exterior; • Devolve conjuntos fechados mais regulares que os conjuntos originais; • Gera imagens menos ricas em detalhes que as imagens originais. A figura 2.12 exemplifica o exemplo de filtragem de uma imagem contaminada por um ruído preto e branco intenso ( ruído sal pimenta). Percebe-se que a filtragem do fundo pelo processo de abertura permite limpá-lo, mas danificando ainda mais os conjuntos. Pelo processo dual de fechamento, percebe-se que a integridade desses conjuntos é restaurada. A seqüência abertura-fechamento permite uma filtragem quase perfeita da imagem. Aqui a abertura é realizada com o elemento estruturante BQ . O fechamento é realizado com dois elementos estruturantes diferentes, os 4 × B Q e 3 × BR . É possível notar que o elemento estruturante 4 × BQ restaura melhor a geometria do conjunto quadrado enquanto que o elemento estruturante 3 × BR restaura melhor a geometria do conjunto arredondado. A figura 2.13 exemplifica o exemplo real de filtragem de uma imagem contendo a letra R danificada por partículas pretas e brancas. A seqüência usada para restaurar a letra R é um fechamento com o elemento estruturante 2 × BC seguido de uma abertura com o elemento estruturante 4 × BC por fim seguido de um fechamento com o elemento estruturante 4 × BC . 76 VII Workshop de Visão Computacional – WVC 2011 a) (b) (c) (d) Figura 2.12. Limpeza de uma imagem ruidosa: (a) Image Original, (b) Limpeza do fundo com BQ , (c) Filtragem dos conjuntos com B Q ,(d) Filtragem dos conjuntos com BR . a) (b) (c) (d) Figura 2.13. Exemplo complexo de filtragem: (a) Image Original, (b) Limpeza parcial do fundo, (c) Filtragem do "R",(d) Unificação do fundo. 2.2.3.4. Propriedades da Abertura e do Fechamento binários Propriedade 2.8 A abertura e o fechamento são transformações crescentes: f ⊂ g =⇒ γ B ( f ) ⊂ γ B (g) f ⊂ g =⇒ φ B ( f ) ⊂ φ B (g) (15) Propriedade 2.9 Enquanto a abertura é uma transformação anti-extensiva, o fechamento é uma transformação extensiva: γ B( f ) ⊂ f f ⊂ φ B( f ) (16) Propriedade 2.10 A abertura e o fechamento apresentam a importante propriedade de idempotência. γ B (γ B ( f )) = γ B ( f ) φ B (φ B ( f )) = φ B ( f ) 77 (17) VII Workshop de Visão Computacional – WVC 2011 A abertura e o fechamento diferem da erosão e da dilatação pela propriedade da idempotência. Esta propriedade é crucial nos processos de filtragem. Imagine que durante um certo tratamento, o processo de abertura ou fechamento com um certo elemento estruturante dado B não resolveu o problema. Um modo de pensar seria reiterar o processo com o mesmo elemento estruturante B. No caso da abertura e do fechamento, a propriedade da idempotência faz com que o resultado seja idêntico. O que significa que a obtenção de novos resultados será somente possível com o uso de outros elementos estruturantes que o empregado na experiência anterior. 2.2.4. Afinamento e Espessamento Binários 2.2.4.1. Transformação Hit − miss Testar ao mesmo tempo as partes internas e externas de conjuntos de uma imagem, pode ser realizado pela transformação Hit − miss que consiste em testar o conteúdo de uma imagem f e seu conteúdo complementário f c a partir de dois elementos estruturantes diferentes disjuntos. Para realizar isso, é preciso de dois elementos estruturantes Bi e Be que formam um par V = (Bi , Be ), um para testar o interior e o outro o exterior da imagem. Definição 2.8 Aplicar uma transformação Hit − miss hom em uma imagem f a partir de um par de elementos estruturantes V = (B i , Be ) é: homV ( f ) = {x : Bix ⊂ f ; Bex ⊂ f c } Pode-se dizer que um ponto da imagem f pertence à imagem transformada por Hit − miss se e somente se Bi “cabe“ em f e se Be “cabe“ em f c . Isso supõe obrigatoriamente que Bi e Be sejam disjuntos, senão é impossível definir o operador Hit − miss. Na prática, a transformação Hit − miss pode ser expressa a partir da definição da erosão da seguinte maneira: Definição 2.9 Aplicar uma transformação Hit-miss hom sobre a imagem f a partir de um par de elementos estruturantes V = (B i , Be ) é: i e homV ( f ) = ε B ( f ) ∩ ε B ( f c ) 2.2.4.2. Afinamento Uma transformação homotópica é uma transformação que não modifica o número de conectividade. Isso quer dizer que a imagem inicial e a transformada têm o mesmo número de partes. Uma primeira transformação homotópica é a operação de afinamento “afi” de uma imagem f que consiste em reduzir a espessura dos componentes conexos de f até um valor infinitamente pequeno sem mudar o número nem o tipo. Ela opera retirando de f pontos que correspondem a uma configuração dada. 78 VII Workshop de Visão Computacional – WVC 2011 Afinar uma imagem f é: Definição 2.10 i e afiV ( f ) = f /(homV ( f )) = f /(ε B ( f ) ∩ ε B ( f c )) Onde a expressão C1 /C2 exprime a diferença pixel a pixel entre os conjuntos C1 e C2 , definida, em termos de operações entre conjuntos da seguinte maneira C1 /C2 = C1 ∩C2c . 2.2.4.3. Espessamento Uma transformação homotópica dual do afinamento é a operação de espessamento “esp” de uma imagem f que consiste em adicionar a f pontos que correspondem a uma configuração dada. Definição 2.11 Espessar uma imagem f é: i e espV ( f ) = f ∪ (homV ( f )) = f ∪ (ε B ( f ) ∩ ε B ( f c )) 2.2.4.4. Afinar e Espessar até convergência Afinar e espessar representam processos homotópicos e portanto não destrõem as propriedades da conectividade e preservam a propriedade da homotopia. Os processos afinamento e de espessamento podem ser iterados até atingir a convergência. Nesse nível, as transformações morfológicas de afinamento e de espessamento tornam-se idempotentes. A escolha do par de elementos estruturantes V = (Bi , Be ) é crucial. Nesse par de elementos estruturantes, nenhum ponto válido deve pertencer aos dois elementos estruturantes ao mesmo tempo. Por exemplo, este par Bi e Be descrito como segue: . . . • • • Be = .. .. .. Bi = •. •• •. Na literatura, existe uma outra maneira de representação do par de elementos estruturantes V = (Bi , Be ) de forma matricial, onde Bi é representado com pixels pretos “•”, Be com pixels brancos . Os pixels que não interagem, chamados de ”don’t care” são representados com o símbolo“×”. O precedente exemplo de V = (B i , Be ) é portanto representado assim: V = (Bi , Be ) = X• •• X• No lugar de afinar uma imagem através de um par de dois elementos estruturantes, as operações podem ser efetuadas de forma simétrica a partir de famílias de pares de elementos estruturantes, permitindo assim um processo simétrico. É descrita a seguir uma família de pares de elementos estruturantes M permitindo um processo simétrico: M = (M1 , M2, M3 , M4 , M5, M6 , M7 , M8) X • X • • • X • X • • • • • • X X = • • X • X X • • • 79 • • • X X • • • • X X • • • X • X • • X • • VII Workshop de Visão Computacional – WVC 2011 Da mesma maneira, espessar uma imagem pode ser efetuado de forma simétrica a partir da família de pares de elementos estruturantes L abaixo representada: L = (L1 , L2 , L3 , L4 , L5 , L6 , L7 , L8 ) • • X X • • X X • X • X X • X • • = X X X X X X X • • X • X X • X X • • X X • X • • X X X • • • X X • X X • • X X A figura 2.14 exemplifica o afinamento e o espessamento de conjuntos. (a) b) (c) Figura 2.14. Afinamento e espessamento: (a) Image Original, (b) Afinamento, (c) Espessamento. 2.2.5. Pruning Freqüentemente os processos de afinamento fazem aparecer nas imagens finais as linhas genéricas procuradas para permitir uma futura pesquisa mas também segmentos de tamanho reduzido chamados de “rebarbas” ou ainda “pés de galinha” que são o resultado do processo sobre extremidades. Quando essas rebarbas são relativamente espessas, é possível tirá-las com um processo de abertura a partir de um elemento estruturante adequado do tipo quadrado BQ . Caso as rebarbas sejam finas demais, um processo de abertura não pode ser usado sob pena de destruição excessiva. É possível utilizar nesse caso uma variante do afinamento, o pruning. O objetivo desse processo é tirar, a partir de uma imagem já afinada, os pontos extremos. Para isso, é possível empregar uma das duas seguintes famílias de elementos estruturantes: X X X X X X X X X • X X X ou X • X X X • X • • • • • • X • • • • • • • X • • • X X X • X X • • • • A grande diferença com o processo de afinamento reside no número de ciclos de supressão de pontos extremos (figura 2.15). Ao contrário do afinamento, o pruning não é um processo idempotente e o fato de continuar o processo pode resultar em uma redução ou grande diminuição ou até destruição parcial da imagem afinada (figuras 2.15-(b) e (c)). Por isso, o número de ciclos no processo de pruning deve ser predeterminado. 80 VII Workshop de Visão Computacional – WVC 2011 Figura 2.15. Exemplos de pruning 2.2.6. Pontos Extremos e Pontos Múltiplos As entidades afinadas têm uma espessura de um pixel na imagem. Cada pixel possui, em geral, dois vizinhos exceto para alguns pixels particulares que são: • Os pixels isolados e as extremidades do conjunto afinado que são os pixels extremos. Duas famílias permitindo extrair os pixels extremos são ilustradas a seguir: X X X X • X X • X ou X X X X • X • X X X X X • • X X X X X X • X X X • X X X • X X X X X X • X X X X • X X • X X X X X X X • X X X X • X • X X X X X X X • X X X X X X • • X X X X X X • X X X X X X • X X X • • As ligações que representam os pixels múltiplos. O número de ligações pode variar entre 3 e 8 (qualquer configuração ao redor do ponto central, tendo pelo menos três pontos brancos, pode representar estes pontos múltiplos), o que corresponde a 56 possibilidades em configurações de vizinhança. Uma forma mais simples de detectar os pontos múltiplos consiste em definir uma função de vizinhança cujo centro seja 1 e onde haja no mínimo mais de dois vizinhos a 1. Dois exemplos de configuração seguem abaixo: X • X • X X • X • X X • X • X • X • ou X • X X • • • X X X • • • X X • X X X X • • • X X X X em uma 81 • X • X X • • • X X • X • • X X X • X • X • • X X X • VII Workshop de Visão Computacional – WVC 2011 2.2.7. Esqueletização Um problema comum quando se processa uma imagem binária é determinar uma réplica “estruturada” dessa imagem que seja fiel à imagem original. Uma réplica que reflete todas as características da imagem, porém mais econômica em termos de memória, consiste em esqueletizar essa imagem. O interesse desse processo reside na compressão dos dados para permitir análises mais rápidas. 2.2.7.1. Definições da Esqueletização Uma primeira definição ( 2.12) do esqueleto da imagem f leva em consideração a fronteira de f . Definição 2.12 Sejam um conjunto f e sua fronteira Δ f , um ponto de f pertence ao esqueleto esq( f ) se a distância euclidiana de f até Δ f for atingida no mínimo em dois pontos distintos de f . x ∈ esq( f ) =⇒ ∃y1, y2 ∈ Δ f , y1 = y2 d(x, Δ f ) = d(x, y1) = d(x, y2) A noção de esqueleto pode ser ilustrada pela idéia da propagação do fogo no campo: o fogo aceso em todos os pontos do contorno de um campo propaga-se de uma forma isotrópica. Quando duas propagações de fogo encontram-se, esse acaba pela falta de combustível. Os pontos de extinção constituem então o esqueleto. O esqueleto pode ser igualmente definido a partir do conceito de discos máximos contidos em f . Para um ponto pertencente à figura da imagem, existem vários discos centrados nesse ponto completamente contidos na figura. Entretanto, existe um único disco de raio máximo contido na figura e centrado nesse ponto. Qualquer disco que satisfaça essa condição é chamado de disco máximo. O conjunto dos centros de todos os discos máximos constituem o esqueleto da figura da imagem (figura 2.16). Uma segunda definição permite expressar o esqueleto em termos de erosão e de dilatação (figura 2.17): esq(λ B,μ B) ( f ) = ∪λ >0 ∩μ >0 [δ λ B ( f )/γ μ B (δ λ B ( f ))] (18) O esqueleto é a união, segundo todos os λ positivos, da interseção, segundo todos os μ positivos, da diferença da imagem f erodida por λ B com o resultado da abertura pelo elemento estruturante μ B da imagem f erodida por λ B. O termo x ∈ ∩μ >0 [δ λ B ( f )/γ μ B (δ λ B ( f ))] na definição 18, traduz a idéia que x representa o centro de um disco máximo de raio λ . Onde a expressão C1 /C2 exprime a diferença pixel a pixel entre os conjuntos C1 e C2 , definida, em termos de operações entre conjuntos da seguinte maneira C1 /C2 = C1 ∩C2c . Os discos de tamanho superior a λ podem ser eliminados manipulando a operação interseção do termo γ μ B (δ λ B ( f )). Uma terceira definição 2.13, mais acessível em termos 82 VII Workshop de Visão Computacional – WVC 2011 Figura 2.16. Esqueleto pela noção de disco máximo. Figura 2.17. Erosão e abertura de um conjunto X: geração de um esqueleto. 83 VII Workshop de Visão Computacional – WVC 2011 de implementação, preconiza a decomposição do esqueleto morfológico em sub-esqueletos da seguinte forma ([Dou92]): cada sub-esqueleto sesqB ( f , n) é associado a um disco máximo nB (n ≥ 0) e representa o conjunto de todos os centros de f do disco máximo nB contido em f . Desta maneira, pode afirmar que o esqueleto esq( f ) representa a união dos sub-esqueletos sesq( f , n) (n ≥ 0). esqB ( f ) = ∪n sesqB ( f , n) O sub-esqueleto sesqB ( f , n) pode ser definido da seguinte maneira: sesqB ( f , n) = δ nB ( f )/γ B (δ nB ( f )) Onde a expressão C1 /C2 exprime a diferença pixel a pixel entre os conjuntos C1 e C2 , definida, em termos de operações entre conjuntos da seguinte maneira C1 /C2 = C1 ∩C2c . Definição 2.13 truturante B é: O esqueleto esqB ( f ) da imagem f a partir do elemento esesqB ( f ) = ∪n sesqB ( f , n) = ∪n [δ nB ( f )/γ B (δ nB ( f ))] A figura 2.18 ilustra o resultado da obtenção do esqueleto pelo processo de esqueletização dos conjuntos pretos da imagem original com o elemento estruturante B Q . (a) (b) Figura 2.18. Esqueleto por esqueletização: (a) Image Original, (b) Esqueleto. A figura 2.19 ilustra as diferenças entre o esqueleto por afinamento e por esqueletização. No segundo, as estruturas obtidas ficam mais descontínuas e compactadas que no primeiro onde não há presença de descontinuidades nas estruturas geradas. Isto constitui a grande diferença entre os processos de afinamento e de esqueletização. No primeiro caso, as estruturas obtidas são contínuas e refletem a geometria dos conjuntos. No segundo caso, as estruturas obtidas são quase sempre descontínuas e podem apresentar geometrias muito diferentes dos conjuntos. Essas diferenças nos resultados de afinamento e esqueletização têm na realidade aplicações diferentes. 84 VII Workshop de Visão Computacional – WVC 2011 (a) (b) Figura 2.19. (a) Esqueleto por afinamento versus (b) Esqueleto por esqueletização. 2.2.7.2. Reconstrução do conjunto inicial a partir do seu Esqueleto O conhecimento do esqueleto esqB ( f ) permite a geração ou a reconstrução da imagem inicial f . Uma primeira definição formula este conceito: X = ∪ρ >0 (δ ρ B̃ (esqB ( f ))) (19) onde ρ representa o raio máximo associado a cada ponto do esqueleto esq B ( f ). O esqueleto obtido pelo método acima, no caso de imagens digitais não tem obrigatoriamente as propriedades do esqueleto não digital por causa dos valores discretos de λ ou de μ . Uma segunda definição formula uma reconstrução implementável da imagem inicial f a partir do esqueleto esqB ( f ), [Dou92]. Definição 2.14 A reconstrução da imagem inicial f a partir de seu esqueleto B esq ( f ) com o elemento estruturante B é: f = ∪n [δ nB̃ (sesqB ( f , n))] (20) Essa propriedade de reconstrução a imagem f é muito interessante sabendo que pode-se “reduzir” a imagem f sabendo retornar a ela e que a memorização do esqueleto do conjunto requer menos espaço. Essa técnica constitui então uma ferramenta de compressão. 2.2.7.3. Propriedades da Esqueletização A esqueletização tem as seguintes propriedades: 85 VII Workshop de Visão Computacional – WVC 2011 Propriedade 2.11 A esqueletização não é uma transformação crescente: f ⊂ g =⇒ esqB ( f ) ⊂ esqB (g) (21) Propriedade 2.12 A esqueletização é uma transformação anti-extensiva: esqB ( f ) ⊂ f (22) 2.2.8. Esqueletização (SKIZ) por regiões de influência Outra tarefa comum quando se processa uma imagem binária contendo vários conjuntos consiste em determinar a região de influência de cada um deles para, futuramente, ter um meio de separá-los. Um processo comumente usado consiste em definir o esqueleto por regiões de influência (SKIZ) da imagem ([CC89], [Pré93]). Seja uma imagem f constituída de f 1 , f2 , . ., fn , n conjuntos individuais conexos. Para cada conjunto fi pode ser associada uma região de influência IZ( f i ) que representa o conjunto de todos os pontos do plano que estão mais próximos de f i que de qualquer outro f j , j = i [Vin91]. Tem-se então: IZ( fi ) = ∪[y ∈: d(y, xi ) < d(y, x j ), j = i] (23) Definição 2.15 O esqueleto por regiões de influência SKIZ da imagem f , anotado SKIZ( f ), é por definição o complementário da união de todos os IZ( f i ): SKIZ( f ) = [∪i IZ( fi )]c Esse esqueleto por regiões de influência divide a imagem f no mesmo número de regiões que o número de conjuntos fi . O SKIZ constitui um sub-conjunto do esqueleto do complementário f c . Portanto, esse esqueleto pode ser obtido por espessamentos homotóticos de f (ver a equação 24). Um primeiro passo consiste em empregar a família de elementos estruturantes L anteriormente apresentada. O esqueleto por regiões de influência SKIZ não deve conter nenhum ponto extremo, enquanto o esqueleto do complementário f c obtido por espessamento homotótico de f pela precedente família de elementos estruturantes, (espL ( f ))c , tem ramos apresentando pontos extremos. Para eliminar esses ramos que constitui o segundo passo, basta efetuar um espessamento com a família E de elementos estruturantes abaixo ilustrada: X X X X X X • X • • X • • • X X • • E= X X X X X X Um maneira de definir o esqueleto por regiões de influência logo é: SKIZ( f ) = (espE (espL ( f )))c (24) A figura 2.20 ilustra o resultado da esqueletização por regiões de influência SKIZ sobreposto à imagem original. Percebe-se claramente o assentamento de cada conjunto em relação aos conjuntos vizinhos. 86 VII Workshop de Visão Computacional – WVC 2011 (a) (b) Figura 2.20. Esqueleto por regiões de influência: (a) Image Original, (b) Esqueleto SKIZ. 2.2.9. Reconstrução binária 2.2.9.1. Introdução Os operadores apresentados anteriormente consideram as imagens como sendo conjuntos indivisíveis. Porém, pode surgir a necessidade de restringir os processos em regiões específicas de uma imagem. A seguir será mostrado que as transformações morfológicas podem ser modificadas de maneira a trabalhar somente em subconjuntos da imagem. Serão apresentados aqui operadores morfológicos condicionais que, iterados, poderão atingir a idempotência, propriedade normalmente válida somente para abertura e fechamento euclidianos. 2.2.9.2. Erosão e Dilatação condicionais binárias Uma primeira possibilidade de processar parcialmente uma imagem consiste em definir um subconjunto da imagem onde as operações são válidas, por exemplo, tratar um conjunto particular de uma imagem. Operadores erosão e dilatação ditos condicionais permitem realizar esse tipo de processamento. Definição 2.16 A erosão condicional do subconjunto z da imagem f , pelo elemento estruturante B, condicionada à imagem f , sendo que z ⊂ f , é definida por ε cBf : εcBf (z) = ε B (z) ∩ f De maneira equivalente: Definição 2.17 A dilatação condicional do subconjunto z da imagem f , pelo elemento estruturante B condicionada à imagem f , sendo que z ⊂ f , é definida por δ cBf : 87 VII Workshop de Visão Computacional – WVC 2011 δcBf (z) = δ B (z) ∩ f A figura 2.21 ilustra as possibilidades que oferece a dilatação condicional comparada à dilatação tradicional. A imagem da figura 2.21-(a) representa o subconjunto z citado na definição 2.17. Dilatando iterativamente 40 vezes o subconjunto z pela dilatação tradicional com o elemento estruturante quadrado B Q , obtêm-se a imagem de um simples quadrado maior (figura 2.21-(d)). Agora, aplicando a dilatação condicional no subconjunto z iterativamente 40 vezes com o mesmo elemento estruturante condicionada à imagem f do gato da figura 2.21-(b), percebe-se que o resultado obtido é uma parte da imagem do gato (figura 2.21-(e)). Aplicando a dilatação condicional no subconjunto z nas mesmas condições, mas agora condicionada à imagem f da máscara (figura 2.21-(c)), percebe-se que o resultado obtido é uma parte da imagem da máscara (figura 2.21-(f)). O que demonstra que o processo de dilatação no caso condicional não mais é dominado pela geometria do elemento estruturante, mas pela geometria da imagem f . O que também se verifica no caso da erosão condicional. (a) (b) (c) (d) (e) (f) Figura 2.21. Dilatação condicional versus dilatação tradicional: (a) Subconjunto z, (b) Imagem f do gato, (c) Imagem f da máscara, (e) Dilatação tradicional, (b) Dilatação condicionada à imagem do gato, (c) Dilatação condicionada à imagem da máscara. Percebe-se claramente as novas perspectivas oferecidas pelas dilatação e erosão condicionais detalhadas no parágrafo 2.2.9.3. 2.2.9.3. Definição da reconstrução binária Os conceitos e operadores apresentados anteriormente mostraram que é possível, através de transformações condicionais, processar somente alguns conjuntos S de uma imagem f . Essa característica abre novos horizontes na área de reconstrução. 88 VII Workshop de Visão Computacional – WVC 2011 Sejam uma imagem binária f contendo um conjunto S e outra imagem binária Z contendo z um subconjunto de S, z ⊂ S. Pode-se dizer que o conjunto S é marcado pelo subconjunto z. A dilatação condicional permite recuperar o conjunto S a partir do subconjunto z. Esse processo chama-se reconstrução onde a imagem binária Z chamase imagem marcadora ou simplesmente marcador e a imagem binária f de imagem máscara ou simplesmente máscara. Sob algumas restrições, [LM84] mostram que a reconstrução binária pode expressarse a partir da dilatação condicional por um elemento estruturante disco unidade da seguinte maneira: Definição 2.18 A reconstrução binária ρ f (Z) de f a partir do marcador Z, Z ⊆ f usando o elemento estruturante unidade B é: ρ f (z) = limn→+∞ δcBf (...δcBf (z)) n A figura 2.22 ilustra um exemplo de potencialidade da reconstrução binária. A imagem da figura 2.22-(a) representa a imagem “Page 5” corrompida por ruído intenso. A eliminação desse ruído exige uma filtragem agressiva ilustrada na figura 2.22-(b), onde permanecem “resíduos” das letras “Page” e do número “5”. A tentativa de recuperar “Page 5” por dilatação tradicional só permite obter uma versão aproximada (figura 2.22(c)), onde as letras “Page” e o número “5” aparecem danificados. Empregando a imagem resultante da filtragem agressiva (figura 2.22-(b)) como marcador e a imagem original ruidosa (figura 2.22-(a)) como máscara, o processo de reconstrução permite regenerar perfeitamente “Page 5” conforme aparece na figura 2.22-(d), sem nenhuma distorção. (a) (b) (c) (d) Figura 2.22. Filtragem por reconstrução binária: (a) Imagem ruidosa, (b) Eliminação do ruído, (c) Tentativa de recuperação por dilatação tradicional, (d) Reconstrução. A figura 2.23 ilustra outro exemplo das potencialidades da reconstrução binária. A imagem da figura 2.23-(a) representa a imagem das letras“Sbf” circundadas por uma margem ruidosa e irregular. Por uma filtragem agressiva, elimina-se as letras“Sbf”e desgasta-se a margem (figura 2.23-(b)). Por reconstrução dessa margem desgastada empregando a imagem original como máscara, gera-se uma imagem da margem completa ruidosa e irregular (figura 2.23-(c)). Basta subtraí-la da imagem original para obter as letras “Sbf” conforme aparecem na (figura 2.23-(d)), sem nenhuma distorção. 89 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) (d) Figura 2.23. Filtragem por reconstrução binária: (a) Imagem com margem ruidosa e irregular, (b) Filtragem inicial, (c) Reconstrução da margem, (d) Obtenção das letras“Sbf”. Estes dois exemplos da figura mostram a importância da reconstrução. Enquanto que filtragens clássicas permitem eliminar padrões indesejáveis porém, deformando os padrões remanescentes, por reconstrução, é possível eliminar esse problema e recuperar os padrões exatos. 2.2.10. Última Erosão binária Seja f uma imagem constituída de subconjuntos conectados. Por erosão de f pelo elemento estruturante nB, na medida que n aumenta, os subconjuntos vão gradativamente diminuir de tamanho, alguns deles vão separar-se dos outros e/ou desaparecer. Guardando o que resta de cada subconjunto antes da sua remoção definitiva, é possível provar que o conjunto constituído dos resíduos de cada subconjunto constitue a Última Erosão Últ( f ) de f . Guardar as ”sementes” dos subconjuntos que formam a imagem f pode constituir um processo interessante quando se quer numerar, reconstruir e identificar as partículas existentes. Esse processo pode ser realizado a partir da operação de Última Erosão binária, constituída de etapas, umas euclidianas, outras condicionais. Vincent [Vin94] fornece uma definição da Última Erosão (definição 2.19) levando em consideração o processo de reconstrução binária ρ introduzido anteriormente. A reconstrução do subconjunto A1 pelo subconjunto A2 ρA1 (A2 ), onde A2 ⊂ A1 , representa a união dos subconjuntos de A1 que tem uma interseção não nula com A2 . n Tendo na mente essa abordagem, o conjunto Últ ( f ) da Última Erosão de f , em relação à nB, expressa-se, em função da reconstrução, da seguinte maneira: n Últ (X ) = ε nB ( f )/ρε nB( f ) (ε (n+1)B ( f )) Definição 2.19 O conjunto Últ(X ) constituído de todas as últimas erosões do conjunto binário X é definido pela seguinte equação: n Últ(X ) = ∪n∈ℵ Últ (X ) = ∪n∈ℵ [ε nB ( f )/ρε nB ( f ) (ε (n+1)B ( f ))] 90 VII Workshop de Visão Computacional – WVC 2011 Figura 2.24. Última Erosão por erosões sucessivas A figura 2.24 ilustra os resíduos de cada subconjunto para cada etapa da erosão e o resultado final da Última Erosão com as ”sementes” em vermelho. Para “descobrir” os resíduos da erosão na iteração n + 1, efetua-se a comparação entre o resultado da reconstrução da erosão ε (n+1)B e o resultado da erosão ε nB . Caso o resultado dessa comparação for nulo, isto significa que nenhum subconjunto foi descoberto. Caso contrário, um novo subconjunto é portanto descoberto através de sua semente. Essa descoberta pode não ser sempre prevista pela análise puramente visual, devido à própria geometria dos conjuntos. A figura 2.25⎧ilustra o resultado do processo de Última Ero⎫ . . . . . . . ⎪ ⎨ .. •. •• •• •• •. .. ⎪ ⎬ são com o elemento estruturantes BR = .. •• •• •• •• •• .. . Pode constatar que as sementes ⎪ ⎩. . • • • . .⎪ ⎭ . . . . . . . obtidas se encontram bem centralizadas. Figura 2.25. Última Erosão: exemplo 2.2.11. Granulometria Binária 2.2.11.1. Introdução A análise de imagens por medição de estruturas (de células, de grãos) é uma tarefa importante. Quando um “tamanho médio” de estrutura existe, uma análise global pode ser 91 VII Workshop de Visão Computacional – WVC 2011 realizada e os processos podem ser facilmente automatizáveis. Porém, o “tamanho médio” de uma estrutura pode não ser suficiente para descrever o conjunto a ser analisado. Poder estabelecer a distribuição de tamanhos é um meio mais preciso de atingir esse objetivo. Quando se fala de grandezas a serem medidas, um paralelo pode ser estabelecido com o processo de peneiramento. Peneirar consiste em separar substâncias reduzidas ao estado de fragmento, que apresentam vários tamanhos. Efetuar um bom peneiramento depende do tamanho da malha da peneira usada. Após peneirar são obtidos dois conteúdos: o primeiro com os objetos menores que a malha da peneira deixou passar, o segundo com o que sobrou do peneiramento, o refugo, de tamanho maior que a malha da peneira não deixou passar. Pode se pensar em peneirar várias vezes, com peneiras cujo tamanho da malha varia. O estudo da distribuição de tamanho em análise de imagens obedece aos mesmos princípios, e o termo usado para descrever essa distribuição é granulometria. A figura 2.26 ilustra um tipo clássico de imagem que pode ser analisada por processo granulométrico. Figura 2.26. Exemplo de imagem podendo ser submetida ao processo granulométrico 2.2.11.2. Princípios básicos da granulometria A análise granulométrica existe e é usada desde tempos antigos, o que explica que a literatura nesse assunto é ampla. Do ponto de visto morfológico, por exemplo [Mat75] propôs um conjunto de regras que, se forem verificadas, permitem obter uma boa granulometria. Para isto, existem três axiomas: Sejam a imagem f a ser analisada e T (λ ) ( f ) a transformação que permite realizar uma análise granulométrica. T (λ ) ( f ) representa exatamente o refugo da peneira de tamanho λ . 1. A transformação morfológica deve ser anti-extensiva; isso significa que o conjunto transformado deve ser menor que o de origem ou seja: ∀λ > 0, T (λ ) ( f ) ⊂ f , ∀ f 92 (25) VII Workshop de Visão Computacional – WVC 2011 2. A transformação morfológica deve ser crescente, ou seja: ∀λ > 0, Y ⊂ f =⇒ T (λ ) (Y ) ⊂ T (λ ) ( f ) , ∀ f (26) 3. O resultado final deve ser idêntico qualquer que seja a seqüência de transformações empregada. Além disso, o resultado deve idêntico ao obtido pela transformação de maior parâmetro λ : ∀λ1 , λ2 > 0, T (λ1 ) (T (λ2 ) ( f )) = T (λ2 ) (T (λ1 ) ( f )) = T sup(λ1 ,λ2 ) ( f ) , ∀ f Pode-se verificar que o processo de peneiramento obedece a esses três axiomas. • No primeiro, porque qualquer conjunto de substâncias peneirado fica menor que o conjunto inicial; • No segundo, porque a quantidade de matéria depositada é proporcional à quantidade analisada; • No terceiro, porque usar uma peneira grossa e depois uma fina ou uma fina e depois uma grossa resulta no mesmo peneiramento e porque o resultado fica idêntico a peneirar com peneira grossa. É possível constatar que a conseqüência do terceiro axioma é a propriedade de idempotência: ∀λ > 0, T (λ ) (T (λ ) ( f )) = T (λ ) ( f ) , ∀ f 2.2.11.3. Diferentes tipos de granulometria Diferentes tipos de granulometria existem da mesma maneira que os diversos parâmetros granulométricos que os caracterizam. Granulometrias em número e em medida : Qualquer granulometria pode ser representada: Em número : consiste em numerar o conteúdo de cada peneiramento e representar o resultado em função do tamanho da peneira. Em medida : consiste numa tomada de peso (medida da massa) do conteúdo de cada peneiramento. Essa massa é representada em função do tamanho da peneira; Esses dois tipos de granulometria não têm o mesmo significado. No caso da granulometria em número, a cada partícula é atribuído o mesmo valor qualquer que seja a sua massa ou o seu tamanho. No caso da granulometria em medida, a cada partícula é atribuído o valor proporcional a sua massa ou ao seu tamanho. Enquanto a primeira granulometria faz somente sentido no caso da imagem constituída de subconjuntos disjuntos, a granulometria em medida não requer esse tipo de restrição e é mais geral. 93 VII Workshop de Visão Computacional – WVC 2011 Definições do tamanho : O parâmetro λ que é usado nas granulometrias representa sempre um parâmetro de tamanho (comprimento, largura, área, volume). Podem ser realizadas granulometrias lineares ou bidimensionais. No primeiro caso, qualquer que seja a imagem f , a sua análise faz-se por interseção com retas e define conjuntos disjuntos. O único parâmetro de tamanho possível é portanto o comprimento da reta. Esse parâmetro pode ser usado para os conjuntos constituídos de grãos como para os conjuntos interconectados. Essa reta constitui portanto o elemento estruturante que permite realizar granulometrias lineares pela morfologia matemática. Em relação às granulometrias bidimensionais, deve ser separado o caso dos conjuntos interconectados do caso dos conjuntos indivisualisáveis. No primeiro caso, somente a morfologia matemática permite fornecer uma solução. O parâmetro usado é o tamanho do elemento estruturante convexo B. No caso de B ser um disco, λ representa o raio do maior disco inscrito na partícula. No caso dos conjuntos indivisualisáveis, uma granulometria no sentido de Matheron [Mat75] envolvendo um parâmetro relativo a uma componente conexa pode ser definido. Por exemplo o diâmetro do disco inscrito, a sua área, o seu diâmetro de Féret. Representação de uma granulometria : A evolução do número e/ou da massa das partículas é representada por uma função. Para permitir comparar as granulometrias de dois materiais, por exemplo, é necessário usar funções normalizadas [CC89]. Levando em consideração os axiomas de Matheron [Mat75], podemos definir uma função de distribuição em número, Fn ( f , λ ) ou ainda Fn (λ ): Fn ( λ ) = N(T (λ ) ( f )) N( f ) − N(T (λ ) ( f )) = 1− N( f ) N( f ) (27) onde N( f ) representa o número de partículas da população inicial e N(T (λ ) ( f )) o número de partículas da população que sobrou na peneira. A partir de Fn (λ ), pode ser definida a densidade de distribuição em número fn (λ ): d(Fn (λ )) ou Fn (λ ) = fn (λ ) = d(λ ) λ 0 fn (λ )d(λ ) (28) Da mesma maneira, para a granulometria em medida, pode ser definida uma função de distribuição em medida, Fm ( f , λ ) ou ainda Fm (λ ): Fm ( λ ) = Leb(T (λ ) ( f )) Leb( f ) − Leb(T (λ ) ( f )) = 1− Leb( f ) Leb( f ) (29) onde Leb() representa a medida de Lebesgue, seja o volume em ℜ3 , a área em ℜ2 e o comprimento em ℜ1 . 94 VII Workshop de Visão Computacional – WVC 2011 A densidade de distribuição em medida fm (λ ) é: d(Fm (λ )) ou Fm (λ ) = fm (λ ) = d(λ ) λ 0 fm (λ )d(λ ) (30) Na prática, as imagens usadas são digitais, portanto é preciso adaptar os métodos empregando granulometrias. Infelizmente, por causa de uma noção apropriada de convexidade e da impossibilidade de multiplicação por um valor escalar arbitrário, isso não pode ser feito diretamente. Os seguintes resultados apresentados são aplicáveis no caso de imagens euclidianas e digitais. Representando as distribuições em medida Fm (λ ) e em número Fn (λ ) pela função Ω(λ ), é possível escrever a sua derivada discreta, d(Ω(λ ))/ d λ , respectivamente a função densidade em número fn (λ ) ou a função densidade em medida fm (λ ), da seguinte forma: d(Ω(λ )) = Ω(λ + 1) − Ω(λ ) d(λ ) (31) 2.2.11.4. Granulometria por abertura Por verificar ao mesmo tempo as propriedades de anti-extensividade, crescência e idempotência, a abertura faz parte do conjunto das transformações introduzidas anteriormente que verifica os três axiomas de [Mat75]. Se desejar usar a abertura como processo granulométrico, tem-se ainda que definir as condições que o elemento estruturante deve verificar e o elemento estruturante deve verificar principalmente o axioma número 27 de [Mat75] que escreve-se no caso da abertura: ∀λ1 > λ2 > 0 γ (λ1 B) (γ (λ2 B) ( f )) = γ (λ2 B) (γ (λ1 B) ( f )) = γ sup(λ1 B,λ2 B) ( f ) [Ser82] demonstra que essa relação verifica-se somente no caso do elemento estruturante ser convexo. Definição 2.20 Um conjunto compacto B é convexo se e somente se ∀r > s > 0, rB é sB-abertura, seja γ sB (rB) = rB. No espaço ℜ1 , o único elemento estruturante convexo é o segmento de reta. Em ℜ 2 , existe uma escolha mais diversificada como por exemplo o círculo, o hexágono, etc.. 2.2.11.5. Granulometria por abertura bidimensional Considerando uma seqüência de elementos estruturantes de tamanho crescente {B i } = (B1 , B2 , ..., Bk, .., Bi ), onde Bk+1 é Bk -abertura ∀k > 0, aplica-se a abertura da imagem binária f por Bk . Pela propriedade de anti-extensividade da abertura, pode ser escrito que: ...γ Bk+1 ( f ) ⊂ γ Bk ( f )... ⊂ γ B2 ( f ) ⊂ γ B1 ( f ) 95 VII Workshop de Visão Computacional – WVC 2011 Dessa maneira cria-se uma granulometria por abertura bidimensional onde o parâmetro λ é o raio ou o fator k de crescimento do elemento estruturante. Uma maneira exata de criar uma seqüência de elementos estruturantes {Bi } é criar a seqüência Bk+1 = δ B (Bk ), onde Bk+1 é Bk -abertura ∀k > 0. O elemento estruturante B1 é o elemento estruturante unidade constituído de um pixel B 1 = { • }. A lei de distribuição usada no caso da granulometria por abertura bidimensional é geralmente a distribuição em medida (definições 29 e 30), a distribuição em número é pouco usada nesse caso (equações 27 e 28). A função de distribuição em medida é portanto: Fm (k) = 1 − Á(γ Bk ( f ) (32) Á( f ) onde Á(I) representa a medida de Lebesgue de I em ℜ2 , seja a área de I. A densidade em medida fica idêntica (equação 30) e calcula-se segundo a equação 31. O exemplo teórico 2.5 ilustra um estudo granulométrico por abertura a partir da seqüência de elementos estruturantes de tamanho crescente {Bi = i × BQ }, onde BQ = • • • • • • • • • , lembrando que B1 = { • }. . Na imagem f foram dispersados de forma aleatória conjuntos de três tamanhos diferentes. ⎡. ⎢ ⎢ ⎢ ⎢ ⎢ f =⎢ ⎢ ⎢ ⎢ ⎢ ⎣ Exemplo 2.5 . . . . . . . . . . . . . . . . . . • . . . . . . . . . . • • • . . . . . . . . . . . . . . • • • . . . • • • • • • • . . . . • • • . . . • • • • • • • . • . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . • • • . . • . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . . . . . . . . . . . . . . . . . . • . • . . . . . . . . . . . . . • . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Por aberturas sucessivas com {Bi }, tem-se os seguintes resultados: ⎡. ⎢ ⎢ ⎢ ⎢ ⎢ B1 γ (f) = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . . . . . . . . . . . . . . . . • . . . . . . . . . . • • • . . . . . . . . . . . . . . • • • . . . • • • • • • • . . . . • • • . . . • • • • • • • . • . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . • • • . . • . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . . . . . . . . . . . . . . . . . . • . • . . . . . . . . . . . . . • . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . ⎤ ⎡. ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ B ⎥ γ 2( f ) = ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ 96 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • . . . . . . . . . . . . . . • • • . . . • • • • • • • . . . . • • • . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ VII Workshop de Visão Computacional – WVC 2011 ⎡. ⎢ ⎢ ⎢ ⎢ ⎢ B3 B4 γ (f) = γ (f) = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎤ ⎡. ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ B ⎥ γ 5( f ) = ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ É possível constatar que, à medida que estruturante B k cresce, a ima o elemento gem f é peneirada pelo processo de abertura γ Bk ( f ) e são geradas imagens onde sobram os conjuntos ≥ Bk . As respectivas áreas Á() acumuladas dos conjuntos de γ Bk ( f ) são: • Á(γ B1 ( f )) = 74; • Á(γ B2 ( f )) = 67; • Á(γ B3 ( f )) = 49; • Á(γ B4 ( f )) = 49; • (∀Bk ≥ B5 ) Á(γ Bk ( f )) = 0. A partir desses diferentes resultados, são definidas a função de distribuição em medida, a função de distribuição em medida normalizada e a densidade de distribuição em medida (figura 2.27) em função do tamanho k do elemento estruturante. a) b) (c) Figura 2.27. Distribuições em medida do exemplo teórico 2.5 : (a) Distribuição, (b) Distribuição normalizada Fm (λ ), (c) Densidade normalizada fm (λ ). É possível interpretar a densidade de distribuição em medida como sendo uma maneira de descobrir o padrão que foi isolado pelo peneiramento na etapa k, seja ainda a classificação desse padrão segundo o critério de abertura em função do elemento estruturante escolhido [Vin94]. Essa interpretação é ilustrada a seguir a partir do exemplo 97 VII Workshop de Visão Computacional – WVC 2011 anterior: ⎡. ⎢ ⎢ ⎢ ⎢ ⎢ fm (0) = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • . . . . . . . . . . . . . . • • • . . . . . . . . . . . . . . • • • . . . . . . . . . . . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . . . . . . . . . . . . . . . ⎡. ⎢ ⎢ ⎢ ⎢ ⎢ fm (2) = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡. ⎢ ⎢ ⎢ ⎢ ⎢ fm (4) = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • . . . . . . • • • • • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • . . . . . . . . . . . . . . • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎤ ⎡. ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎥ e fm (1) = ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ . . . . . . . . . . . . . . . . . ⎤ . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . ⎡. ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎥ e fm (3) = ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎡. ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎥ e ∀k ≥ 5 fm (k) = ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . • . . . . . . . . . . . . . • . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ A figura 2.28 exemplifica o processo granulométrico por abertura a partir da seqüência de elementos estruturantes idêntica à do exemplo 2.5. A imagem f foi criada de forma artificial onde os conjuntos tem uma forma quadrada e foram distribuídos de forma aleatória e de maneira a não sobreporem-se. O processo de peneiramento começa a ser operacional a partir da abertura com B3 (figura 2.28-(b)). Uma segunda classe de conjunto é peneirada com a abertura usando B4 (figura 2.28-(c)), uma terceira classe com a abertura usando B7 (figura 2.28-(d)) e finalmente a última classe com a abertura usando B10 . Donde as distribuições granulométricas, a função de distribuição, a função de distribuição normalizada e a densidade de distribuição da figura 2.29. 2.2.11.6. Granulometria por abertura e reconstrução Na realidade, raras são as imagens onde os conjuntos tem formas idênticas e não se sobrepõem. O fato de que conjuntos poderem ter diversas formas, ou seja, a imagem conter vários padrões e/ou ruído, dificulta o processo de peneiramento. Peneirar, por exemplo, estruturas redondas e alongadas a partir de uma única seqüência de elementos estruturantes pode resultar em resultados duvidosos. Conjuntos sobrepostos criam o mesmo 98 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) (d) Figura 2.28. Peneiramento por abertura binária: a) imagem original b) Abertura B3 c) Abertura B4 d) Abertura B7 efeito. Acontece que peneirar pelo processo de abertura da maneira como foi descrito anteriormente resulta na deformação dos conjuntos restantes. O que resulta em função e densidade de distribuição incorretas dificultando portanto a interpretação. Várias soluções são possíveis. Uma delas é modificar o processo de peneiramento por abertura introduzindo o processo de reconstrução binária a partir de marcadores binários. Sabe-se que após abertura, o conjunto que “sobrevive” existe realmente na peneira. Somente a sua forma e as suas dimensões foram alteradas. A idéia consiste, portanto, em extrair o marcador de cada conjunto restante (por exemplo pelo processo de Última Erosão) para depois reconstruir o verdadeiro conjunto que normalmente deveria aparecer. Veja o exemplo teórico 2.6, simplesmente uma versão deteriorada do exemplo teórico 2.5 onde foi adicionado ruído, que vai ilustrar o estudo granulométrico por abertura com inclusão do processo de reconstrução binária. Foi usada a mesmaseqüência • • • • • • de elementos estruturantes de tamanho crescente {Bi = i × BQ }, onde BQ = • • • do exemplo teórico 2.5. ⎡. Exemplo 2.6 ⎢ ⎢ ⎢ ⎢ ⎢ X =⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . . . . . . . . . . . . . . . . • . . . . . . . . . • • • • . . . . . • • . . . . . . . • • • . . . • • • • • • • . . . . • • • . . . • • • • • • • . • . . . • . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . • • • . . • . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . . . . . . • • . . • • . . . . . . • . • . . • . . . . . . . . . . • . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ A primeira abertura fornece um resultado sem nenhuma ambigüidade, e a sua área é Á(γ B1 ( f )) = 83: ⎡. . . . . . . . . . . . . .⎤ . . • . . . . . . . . . • • . • . • . . ⎢ .. ⎢. ⎢. ⎢. ⎢. B1 γ (f) = ⎢ ⎢ .. ⎢. ⎢. ⎢. ⎣. . . . • • . . . . . . . • • • . . • • • • • • • . . . . • • • . . • • • • • • • . • . . . • . . 99 . • • • • • • • . . . . . . . . . • • • • • • • . . . . . . . . . • • • • • • • . • • • . . • . . • • • • • • • . • • • . . . . . • • • • • • • . • • • . . . . . . . . . . • • . . • • . . . . . • . • . . • . . . . . . . . . • . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) Figura 2.29. Distribuições em medida do exemplo 2.28 : (a) Distribuição, (b) Distribuição normalizada Fm (λ ), (c) Densidade normalizada fm (λ ). 100 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) (d) (e) (f) Figura 2.30. Etapas de peneiramento por abertura binária com reconstrução Já a segunda abertura fornece um resultado distorcido: ⎡. ⎢ ⎢ ⎢ ⎢ ⎢ B2 γ (f) = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • . . . . . . . . . . . . . . • • • . . . • • • • • • • . . . . • • • . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Os conjuntos peneirados não têm a mesma forma que os conjuntos correspondentes na imagem original. O que gera como conseqüência a modificação das distribuições. Como já visto anteriormente, uma maneira de restituir os conjuntos iniciais consiste em efetuar uma reconstrução de f . Uma primeira idéia excelente é reconstruir a partir da extração de marcadores de (γ B2 ( f )) gerados pelo processo de Última Erosão. Porém é possível acelerar o processo usando (γ B2 ( f )) como sendo a própria imagem de marcadores. Isso é possível pela propriedade de anti-extensividade da abertura ((γ B2 ( f )) ⊂ f ). 101 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) Figura 2.31. Distribuições em medida do exemplo 2.28 : (a) Distribuição, (b) Distribuição normalizada Fm (λ ), (c) Densidade normalizada fm (λ ). 102 VII Workshop de Visão Computacional – WVC 2011 Portanto, a reconstrução de f a partir de (γ B2 ( f )) é: ⎡. . . . . . ⎢ ⎢ ⎢ ⎢ ⎢ B2 ρ f (Últ(γ ( f )) = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • . . . . • • . . . . . . . • • • . . • • • • • • • . . . . • • • . . • • • • • • • . . . . . • . . . • • • • • • • . . . . . . . . . . • • • • • • • . . . . . . . . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . • • • • • • • . • • • . . . . . . . . . . . • • . . • • . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Pelo processo de reconstrução, é possível corrigir as deformações introduzidas pela abertura. O algoritmo de peneiramento é portanto perfeito. No caso do peneiramento perfeito de f por B2 , a área é Á(ρX (Últ(γ B2 ( f ))) = 76. Reiterando esse processo para cada etapa de abertura, tem-se: ⎡. . . . . . . . . . . . . .⎤ . . . . . . . . . . . . . . . . . . . . . . . • • . . . . . . . . . . . . • • • • • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎢ .. ⎢. ⎢. ⎢. ⎢. B3 B4 ρ f (Últ(γ ( f )) = ρ f (Últ(γ ( f )) = ⎢ ⎢ .. ⎢. ⎢. ⎢. ⎣. ⎡. ⎢ ⎢ ⎢ ⎢ ⎢ B5 ρ f (Últ(γ ( f )) = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • • • • . . . . . . . . . • • • • • • • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • • • • • • . . . . . . . . ⎤ . • • • • • • • . . . . . . . . . • • • • • • • . . . . . . . . . . . . . . • • . . . . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ As respectivas áreas Á() acumuladas, que permitem definir as distribuições em medida ilustradas na figura 2.32, são: • Á(γ B1 ( f )) = 83; • Á(ρX (Últ(γ B2 ( f ))) = 76; • Á(ρ f (Últ(γ B3 ( f ))) = 54; • Á(ρ f (Últ(γ B4 ( f ))) = 54; • (∀Bk ≥ B5 ) Á(ρ f (Últ(γ Bk ( f ))) = 0. A figura 2.30 ilustra um exemplo real de processo granulométrico por abertura com reconstrução binária, e a figura 2.31, as funções de distribuição e a densidade de distribuição decorrentes. 103 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) Figura 2.32. Distribuições em medida do exemplo teórico 2.6 : (a) Distribuição, (b) Distribuição normalizada Fm (λ ), (c) Densidade normalizada fm (λ ). 104 VII Workshop de Visão Computacional – WVC 2011 2.2.11.7. Granulometria por fechamento ou anti-granulometria Da mesma maneira que foi definida uma granulometria, é possível definir uma granulometria por fechamento ou anti-granulometria T (λ ) ( f ) a transformação que verifica os dois últimos axiomas de [Mat75] e verifica a propriedade de extensividade: ∀λ1 ≥ λ2 > 0, T (λ1 ) ( f ) ≥ T (λ2 ) ( f )) ∀ f (33) Uma transformação verificando essas três axiomas é o fechamento. Uma granulometria por fechamento analisa uma imagem f em relação a uma família de fechamento e é estritamente equivalente por, dualidade, a uma análise granulométrica por abertura do complementário de f , seja f c . Uma tal granulometria pode ser usada por exemplo para analisar conjuntos contendo furos. 2.3. OPERADORES DA MORFOLOGIA MATEMÁTICA EM NIVEIS DE CINZA 2.3.1. Considerações matemáticas Seja E um conjunto qualquer e P(E) o conjunto dos subconjuntos de P. Um sinal euclidiano é uma função f (x) definida num certo domínio D[ f (x)] que pode ser real ou inteiro por exemplo. Considerando uma função de uma variável f (x) positiva, o que é o caso de imagens em níveis de cinza, é possível definir operações de translação. Uma translação horizontal à direita de valor z, ou “shift”, do sinal f (x) pode ser definida como: fz (x) = f (x − z) (34) Da mesma maneira, uma translação vertical do sinal f (x) de valor y, chamada também de “offset”, pode ser definida como: ( f + y)(x) = f (x) + y (35) Aplicando as duas operações, obtém-se uma translação morfológica, como: ( f + y)z (x) = f (x − z) + y (36) Precisa-se também definir uma noção de ordem entre as imagens. Sejam f (x) e g(x) dois sinais com domínios respectivos D[ f ] e D[g], g(x) é declarado como sendo abaixo de f (x), escrito como g << f , se: • o domínio D[g] é um sub-conjunto do domínio D[ f ], • ∀x ∈ D[g], g(x) < f (x). Como em morfologia binária, onde a intersecção e a união têm um papel importante, da mesma forma, em morfologia em níveis de cinza, duas funções equivalentes, o máximo e o mínimo (figura 2.33) têm um papel fundamental. 105 VII Workshop de Visão Computacional – WVC 2011 Figura 2.33. Exemplo de operações Máximo e Mínimo O mínimo de duas funções f (x) e g(x), notado f ∧ g, pode ser definido da seguinte forma: Definição 2.21 Se x pertence à intersecção de f (x) e de g(x), x pertence então à D[ f ] ∩ D[g], portanto: ( f ∧ g)(x) = Min{ f (x), g(x)} (37) Da mesma maneira, o máximo de duas funções f (x) e g(x), notado f ∨ g, pode ser definido em termos de união da seguinte forma: Definição 2.22 D[g], então: Se x pertence à união de f (x) e de g(x), x pertence à D[ f ] ∪ ( f ∨ g)(x) = Max{ f (x), g(x)} (38) Em morfologia em níveis de cinza, existe mais uma operação básica de reflexo que corresponde à rotação de um conjunto em relação à origem. Se f (x) é um sinal definido no seu domínio D[ f ], o transposto de f (x) em relação à origem é: f˜(x) = − f (−x) (39) 2.3.2. Erosão e Dilatação em níveis de cinza Serão apresentados aqui os dois operadores básicos que constituem os pilares da Morfologia Matemática em níveis de cinza, a erosão e a dilatação. 2.3.2.1. Erosão em níveis de cinza com elementos estruturantes 3D [Ser82] (página 443) mostrou que é possível relacionar a erosão com a extensão da subtração de Minkowski extendida para funções: 106 VII Workshop de Visão Computacional – WVC 2011 A erosão de um sinal f por um elemento estruturante 3D g Definição 2.23 é: ε g ( f )(x) = ∧{ f (y) − g(x − y) : y ∈ E} onde a erosão não é definida num ponto onde o elemento estruturante não está abaixo do sinal f . No caso de imagens digitais, os sinais são definidos sobre inteiros e tomam os valores de nível de cinza, na maioria dos casos entre 0 e 255 (8 bits). A figura 2.34 ilustra o princípio da interação do elemento estruturante g em níveis de cinza sobre o sinal f (rampa) no caso de uma erosão em níveis de cinza. O ponto escolhido para a exemplificação é x = 2. Nesse ponto, são efetuadas todas as operações f (y) − g(x − y) para os pontos relevantes y do elemento estruturante g. É possível constatar que o elemento estruturante g é centrado no ponto 2 em estudo (2 − y = 0 para y = 2) (figura 2.34-b)). O cálculo f (y) + g(2 − y) deve ser efetuado três vezes para os pontos relevantes de g que são y = 1, y = 2 e y = 3. Os resultados são respectivamente 1 − 1 = 0, 2 − 1 = 1 e 3 − 1 = 2. Portanto o resultado da erosão no ponto 2 é Min{0, 1, 2} = 0. Os resultados da erosão de f por g são (figura 2.34-c)): ε g ( f (0)) < 0, ε g ( f (1)) < 0, ε g ( f (2)) = 0, ε g ( f (3)) = 1, ε g ( f (4)) = 2, ε g ( f (5)) = 1, ε g ( f (6)) = 0, ε g ( f (7)) < 0, ε g ( f (8)) < 0. Figura 2.34. Exemplo teórico de erosão em níveis de cinza Uma imagem, de forma geral, apresenta um fundo que pode ser ou não é uniforme e onde sobrepõem-se padrões mais claros e/ou escuros. É possível comparar este imagem a um relevo topográfico onde os padrões claros são picos e os padrões escuros são vales. Tendo esta analogia em mente, é possível estabelecer padrões de comportamento da erosão. Os efeitos da erosão em níveis de cinza são: • Escurecer a imagem 107 VII Workshop de Visão Computacional – WVC 2011 • Alargar e engordar os vales (padrões mais escuros) • Conectar vales próximos • Reduzir e as vezes eliminar picos (padrões mais claros) • Separar picos próximos. 2.3.2.2. Erosão em níveis de cinza com elementos estruturantes 2D A definição anterior leva em consideração elementos estruturantes 3D em níveis de cinza. Muitas vezes esses elementos estruturantes são funções analiticamente bem definidas como um disco, uma meia-esfera etc.. O uso desses tipos de elementos estruturantes permite processos poderosos mas que dependem muito da escolha analítica da função de representação. Outra definição mais simples e muito empregada consiste em não mais usar elementos estruturantes 3D mas sim 2D ou planares. Esta nova definição usando elementos estruturantes 2D é: Definição 2.24 planar g é: A erosão de um sinal f por um elemento estruturante 2D ε g ( f )(x) = ∧{ f (y) : y ∈ D[g]} Nos exemplos que servirão para ilustrar os processos morfológicas en níveis de cinza, serão usados elementos estruturantes 2D. A figura 2.35 ilustra efeitos da erosão em uma imagem poluída por ruído. A erosão com o elemento estruturante BC tem como efeito de remover o ruído mais claro mas tem com inconveniente de reforçar o ruído mais escuro. A figura 2.36 ilustra os efeitos acima citados a partir de uma imagem erodida pelos elementos estruturantes nBQ com n = 1 e n = 3. Percebe-se que, na medida que n aumenta, gradativamente a imagem vem escurecendo, os vales aumentam, as partes claras diminuem. O que resulta na disparição das letras e detalhes mais claros e no reforço das letras e detalhes mais escuros. 2.3.2.3. Dilatação em níveis de cinza com elementos estruturantes 3D A dilatação de um sinal f por um elemento estruturante g pode ser definida, como no caso da morfologia binária, como a operação dual da erosão em níveis de cinza. Na prática, a dilatação em níveis de cinza de f por g consiste em verificar se o elemento estruturante centrado em x está acima da função f . [Ser82] (página 443) mostrou que é possível relacionar a dilatação com a extensão da adição de Minkowski extendida para funções: 108 VII Workshop de Visão Computacional – WVC 2011 (a) (b) Figura 2.35. Exemplo de erosão de uma imagem ruidosa: (a) Image Original, (b) Com o elemento estruturante BC . (a) (b) (c) Figura 2.36. Exemplos de erosão: (a) Image Original, (b) Com o elemento estruturante BQ , (c) Com o elemento estruturante 3 × B Q . 109 VII Workshop de Visão Computacional – WVC 2011 A dilatação de um sinal f por um elemento estruturante 3D Definição 2.25 g é: δ g ( f (x)) = ∨{ f (y) + g(x − y) : y ∈ E} A figura 2.37 ilustra o princípio da interação do elemento estruturante g em níveis de cinza sobre o sinal f no caso de uma dilatação em níveis de cinza. O ponto escolhido para a exemplificação no sinal f é x = 2. Nesse ponto, são efetuadas todas as operações f (y) + g(x − y) para os pontos relevantes y do elemento estruturante g (figura 2.37-b)). É possível constatar que o elemento estruturante g é centrado no ponto 2 em estudo (2 − y = 0 para y = 2). O cálculo f (y) + g(2 − y) deve ser efetuado três vezes, para y = 1, y = 2 e y = 3. Os resultados são respectivamente 1 + 1 = 2, 2 + 1 = 3 e 3 + 1 = 4. Portanto o resultado da dilatação no ponto 2 é Max{2, 3, 4} = 4. Os resultados da dilatação de f por g são (figura 2.37-c)): δ g ( f (0)) = 2, δ g ( f (1)) = 3, δ g ( f (2)) = 4, δ g ( f (3)) = 5, δ g ( f (4)) = 5, δ g ( f (5)) = 5, δ g ( f (6)) = 4, δ g ( f (7)) = 3, δ g ( f (8)) = 2. Figura 2.37. Exemplo teórico de dilatação em níveis de cinza Tendo ainda em mente a analogia da imagem em níveis de cinza com o relevo topográfico onde os padrões claros são picos e os padrões escuros são vales, é possível determinar padrões de comportamento da dilatação. Os efeitos da dilatação em níveis de cinza são: • Clarear a imagem • Alargar e engordar os picos (padrões mais claros) • Conectar picos próximos • Reduzir e as vezes eliminar vales (padrões mais escuros) • Separar vales próximos. 110 VII Workshop de Visão Computacional – WVC 2011 2.3.2.4. Dilatação em níveis de cinza com elementos estruturantes 2D Outra definição mais simples e muito empregada usando elementos 2D ou planares é: A dilatação de um sinal f por um elemento estruturante 2D Definição 2.26 planar g é: δ g ( f (x)) = ∨{ f (y) : y ∈ D[g]} Nos exemplos que servirão para ilustrar os processos morfológicas en níveis de cinza, serão usados elementos estruturantes 2D. A figura 2.38 ilustra efeitos da dilatação em uma imagem poluída por ruído. A dilatação com o elemento estruturante BC tem como efeito de remover o ruído mais escuro mas tem com inconveniente de reforçar o ruído mais claro. (a) (b) Figura 2.38. Exemplo de dilatação de uma imagem ruidosa: (a) Image Original, (b) Com o elemento estruturante BC . A figura 2.39 ilustra os efeitos acima citados a partir de uma imagem dilatada pelos elementos estruturantes nBQ com n = 1 e n = 3. É possível perceber que, na medida que n aumenta, gradativamente a imagem vem clareando, os vales diminuem, as partes claras aumentam. O que resulta na disparição das letras e detalhes mais escuros e no reforço das letras e detalhes mais claros. 2.3.2.5. Propriedades da Erosão e da Dilatação em níveis de cinza Vale a pena esclarecer que a erosão e a dilatação são duais. Propriedade 2.13 Enquanto a erosão é uma transformação não comutativa, a dilatação é comutativa: 111 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) Figura 2.39. Exemplos de dilatação: (a) Image Original, (b) Com o elemento estruturante BQ , (c) Com o elemento estruturante 3 × B Q. 112 VII Workshop de Visão Computacional – WVC 2011 ε g( f ) = ε f (g) δ g ( f ) = δ f (g) (40) Propriedade 2.14 A erosão e a dilatação em níveis de cinza por um ponto reduzem-se a uma translação. Portanto a dilatação e a erosão são invariantes pela translação. ε x ( f ) = δ x ( f ) = fx (41) Propriedade 2.15 A erosão e a dilatação em níveis de cinza têm propriedades interessantes em relação às operações de mínimo e de máximo: δ g∨g ( f ) = δ g ( f ) ∨ δ g ( f ) (42) Pelo uso da dualidade que existe entre a erosão e a dilatação, tem-se: ε g∨g ( f ) = ε g ( f ) ∧ ε g ( f ) (43) ε g ( f ∧ h) = ε g ( f ) ∧ ε g (h) (44) e Propriedade 2.16 A erosão e a dilatação em níveis de cinza têm duas propriedades relativas à repetição que são interessantes. A primeira é: A segunda é: g (g̃) δ g (g̃) ε g (ε g ( f )) = ε δ δ g (δ g ( f )) = δ (f) (f) (45) (46) Essas propriedades são fundamentais porque mostram que erosões e dilatações com elementos estruturantes grandes podem ser decompostas em seqüências de erosões e dilatações com elementos estruturantes menores. Essa propriedade é particularmente interessante para elementos estruturantes convexos. O que explica que, novamente, os elementos estruturantes mais usados são simples, como B H , BV , BC . Propriedade 2.17 A erosão e a dilatação em níveis de cinza são operações crescentes. f ≤ f =⇒ ε g ( f ) ≤ ε g ( f ) =⇒ δ g ( f ) ≤ δ g ( f ) (47) E pela dualidade: g ≤ g =⇒ ε g ( f ) ≤ ε g ( f ) =⇒ δ g ( f ) ≤ δ g ( f ) 113 (48) VII Workshop de Visão Computacional – WVC 2011 Propriedade 2.18 Enquanto que a erosão é uma operação anti-extensiva, a dilatação é uma operação extensiva. ε g( f ) ≤ f ≤ δ g( f ) (49) Propriedade 2.19 As erosão e dilatação são transformações contínuas. 2.3.3. Deteção de bordas em níveis de cinza: Gradiente Morfológico A informação do gradiente é muito usada no processamento de imagens para detectar bordas. De forma geral, a informação gradiente é uma versão digital da informação diferencial. Supondo o sinal f diferenciável no seu domínio, é possível mostrar [Sch67] que a derivada de f segundo a coordenada h na direção α na Borda é: δf δf (50) (x) = ( )(x) + σ cos Θ − αδx (Borda) δh δh onde a função (δ f /δ h) representa a derivada do termo contínuo, σ o salto no ponto x ∈ Borda, o angulo θ representa a reta perpendicular à Borda no ponto x orientada no sentido positivo do salto, e δ x (Borda) é o pulso de Dirac no ponto x. A definição do gradiente de f no ponto x é o vetor (δ f /δ x), (δ f /δ y) associada à função diferencial d f : δf δf dx + dy (51) df = δx δy [Beu77] propôs uma avaliação do gradiente morfológico a partir de erosões e dilatações em níveis de cinza efetuadas com disco de raio unitário (ver figura 2.40): Grad(x) = limλ →0 δ λ g( f ) − ε λ g( f ) 2λ (52) Na morfologia matemática, existem várias implementações digitais do gradiente e três delas serão aqui apresentadas. • Gradiente Morfológico por erosão em níveis de cinza: Definição 2.27 O gradiente morfológico Grad gε de uma imagem f por um elemento estruturante g a partir da erosão é: g Gradε ( f ) = f − ε g ( f ) O processo de Gradiente por erosão em níveis de cinza detecta bordas nas posições dos níveis de cinza mais elevados das bordas. • Gradiente Morfológico por dilatação em níveis de cinza: 114 VII Workshop de Visão Computacional – WVC 2011 Figura 2.40. Exemplo teórico do gradiente morfológico g Definição 2.28 O gradiente morfológico Grad δ de uma imagem f pelo elemento estruturante g a partir da dilatação é: g Gradδ ( f ) = δ g ( f ) − f O Gradiente por dilatação em níveis de cinza detecta bordas nas posições dos níveis de cinza mais baixos das bordas. • Gradiente Morfológico por dilatação e erosão em níveis de cinza Definição 2.29 O gradiente morfológico Grad gεδ de uma imagem f pelo elemento estruturante g a partir da erosão e da dilatação é: Gradgεδ ( f ) = δ g ( f ) − ε g ( f ) A figura 2.41 exemplifica o processo de gradiente morfológico por dilatação e erosão em níveis de cinza Gradiente a partir do elemento estruturante BC . 2.3.4. Abertura e fechamento em níveis de cinza As propriedades de iteratividade da erosão e da dilatação em níveis de cinza permitem novas operações. 115 VII Workshop de Visão Computacional – WVC 2011 (a) (b) Figura 2.41. Exemplo de gradiente morfológico por dilatação e erosão: (a) Image Original, (b) Com o elemento estruturante BC . 2.3.4.1. Abertura em níveis de cinza Uma dessas, chamada de “abertura em níveis de cinza” consiste em erodir uma imagem f por um elemento estruturante g e depois dilatar essa imagem erodida pelo mesmo elemento estruturante g. Como em morfologia binária, a operação morfológica de abertura em níveis de cinza é definida, inicialmente a partir das operações de Minkowski estendidas para funções ([Ser82] página 444), da seguinte maneira: Definição 2.30 por definição A abertura de uma imagem f pelo elemento estruturante g é γ g ( f ) = δ g (ε g̃ ( f )) onde g̃ representa o transposto de g obtido por simetria central pela origem {o} do sistema de referência Depois da aplicação de uma abertura em níveis de cinza, de forma geral, a preservação dos conjuntos iniciais é muito rara. Seguindo a analogia da imagem em níveis de cinza com o relevo topográfico, o comportamento da abertura é: • Separar picos próximos; • Eliminar picos inferiores em tamanho ao elemento estruturante; • Conservar vales afastados; • Juntar vales próximos; • Deixar a imagem resultante mais regular que a imagem original; • Deixar a imagem resultante menos rica em detalhes que a imagem original. 116 VII Workshop de Visão Computacional – WVC 2011 2.3.4.2. Fechamento em níveis de cinza Outro novo operador dual da operação de abertura em níveis de cinza, chamada de “fechamento em níveis de cinza” , φ , pode ser definida como segue ([Ser82] página 444): Definição 2.31 g é: O fechamento φ de um sinal f por um elemento estruturante φ g ( f ) = ε g (δ g̃ ( f )) onde B̃ representa o transposto de B obtido por simetria central pela origem {o} do sistema de referência Depois de aplicar um fechamento em níveis de cinza, de forma geral, a preservação dos conjuntos iniciais é muito rara. Seguindo a analogia da imagem em níveis de cinza com o relevo topográfico, o comportamento do fechamento é: • Juntar picos próximos; • Eliminar vales inferiores em tamanho ao elemento estruturante; • Conservar picos afastados; • Separar vales próximos; • Deixar a imagem resultante mais regular que a imagem original; • Deixar a imagem resultante menos rica em detalhes que a imagem original. A partir das propriedades de iteratividade e de dualidade das erosão e dilatação, é possível filtrar reduzindo o impacto às características geométricas dos conjuntos processados. Veja a figura 2.42 ilustrando tais propriedades retomando os exemplos das figuras 2.35 e 2.38. Na figura 2.35, foi visto que a erosão permite remover o ruído mais claro porém reforçando o ruído mais escuro (ver na figura 2.42-(b)). E que, conforme ilustrado na figura 2.38, a dilatação permite remover o ruído mais escuro porém reforçando o ruído mais claro (ver na figura 2.42-(e)). Em cada caso, pelas propriedades de iteratividade e de dualidade respectivas das dilatação e erosão, é possível, por abertura e fechamento, reestabelecer a geometria dos conjuntos filtrados. O que é ilustrado nas figuras 2.42-(c) e 2.42-(f). Mas percebe-se que o ruído que tinha sido reforçado anteriormente permanece. E que só pode ser completamente eliminado pelos processos duais com elementos estruturantes maiores que os usados anteriormente. A figura 2.42-(d) ilustra os efeitos de aplicar um fechamento com elemento estruturante 2 × BC após ter aplicado uma abertura com elemento estruturante BC . E de forma análoga, a figura 2.42-(g) ilustra os efeitos de aplicar uma abertura com elemento estruturante 2 × BC após ter aplicado um fechamento com elemento estruturante BC . Permitindo a remoção completa do ruído com menos impactos nos conjuntos filtrados. 117 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) (d) (e) (f) (g) Figura 2.42. Benefícios da abertura e do fechamento: (a) Imagem Original ruidosa, (b) Erosão com BC , (c) Abertura com BC , (d) Abertura com BC seguida de Fechamento com 2 × BC , (e) Dilatação com BC , (f) Fechamento com BC , (g) Fechamento com BC seguida de Abertura com 2 × BC . 118 VII Workshop de Visão Computacional – WVC 2011 2.3.5. Filtros produtos e alternados seqüenciais Pelas propriedades de crescência, de idempotência, de extensividade e de anti-extensividade, a abertura e o fechamento constituem filtros de grande importância. Estes filtros não representam os únicos filtros com estas propriedades mas constituem uma boa base. É possível pensar em associar a busca do máximo e do mínimo entre uma imagem, a imagem aberta ou fechada e combinar de forma seqüencial a abertura e o fechamento. E ver até que ponto a combinação desses dois operadores conservem essas quatro propriedades. 2.3.5.1. Produto de aberturas e de fechamentos Definição 2.32 A partir da abertura γ e do fechamento φ , podem ser definidos quatro operadores, γφ , φ γ , φ γφ e γφ γ : γφ g ( f ) φ γ g( f ) φ γφ g ( f ) γφ γ g ( f ) = = = = γ g (φ g ( f )) φ g (γ g ( f )) φ g (γ g ((φ g ( f ))) γ g (φ g (γ g ( f ))) Esses operadores, que são essencialmente filtros, ordenam-se como segue: φ ≥ φ γφ ≥ γφ ≥ γφ γ ≥ φ γ ≥ γ φγ É possível constatar que os filtros produtos γφ e φ γ não são ordenados entre eles. É possível também constatar que, devida à propriedade de idempotência (φ γφ γ = φ γ e γφ γφ = γφ ) esses filtros são os únicos a poderem ser realizados desta maneira. É possível ainda acrescentar que, caso o usuário não for satisfeito com os resultados desses produtos de aberturas ou de fechamentos, a única possibilidade consiste em mudar o tamanho ou a forma do elemento estruturante empregado. Esses filtros compostos são muito usados, particularmente antes de qualquer operação que aumenta o ruído da imagem, como por exemplo o gradiente. A figura 2.43 ilustra o efeito dos filtros produtos φ γφ e γφ γ , a partir do elemento estruturante g = B Q sobre uma mesma imagem. O uso do produto γφ γ g teve como conseqüência de reduzir as regiões claras para reforçar as regiões escuras (figura 2.43-(b)). Enquanto que empregar o produto φ γφ g teve com efeito limpar o fundo reforçando de certa maneira o contraste entre o fundo e as regiões escuras (figura 2.43-(c)). Ambos os filtros produtos φ γφ e γφ γ homogeneizaram as partes internas dos objetos. 2.3.5.2. Filtros alternados seqüenciais A partir de uma abertura, é possível definir uma família de aberturas de parâmetro λ da seguinte maneira: γ (λ ) ( f ) = γ (λ g) ( f ) = γ (λ )g (γ (λ −1)g (...γ g( f ))) 119 (53) VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) Figura 2.43. Exemplos de filtros produtos: (a) Imagem original, (b) Filtro γφ γ , (c) Filtro φ γφ . Uma tal família tem a seguinte propriedade: ∀ f , λ ≥ μ =⇒ γ (λ ) ( f ) ≤ γ (μ ) ( f ) Da mesma maneira, é possível definir uma família de fechamentos de parâmetro λ da seguinte maneira: φ (λ ) ( f ) = φ (λ g) ( f ) = φ (λ )g (φ (λ −1)g (...φ g( f ))) (54) É possível verificar que uma família de fechamento verifica a seguinte propriedade: γφ (i) ∀ f , λ ≤ μ =⇒ φ (λ ) ( f ) ≥ φ (μ ) ( f ) A geração dessas duas famílias permite definir dois filtros alternados seqüenciais e φ γ (i) . Definição 2.33 O filtro alternado seqüencial γφ (i) é: γφ (i) ( f ) = γ (i) (φ (i) [γ (i−1) (φ (i−1) [.. ..γ (1) (φ (1) ( f )).. ..])]) e Definição 2.34 O filtro alternado seqüencial φ γ (i) é: φ γ (i) ( f ) = φ (i) (γ (i) [φ (i−1) (γ (i−1) [.. ..φ (1) (γ (1) ( f )).. ..])]) O mecanismo de filtragem é aqui mais complexo e também mais poderoso. A primeira iteração com o elemento estruturante unidade φ (1) no filtro alternado seqüencial 120 VII Workshop de Visão Computacional – WVC 2011 γφ (i) (respectivamente γ (1) no filtro alternado seqüencial φ γ (i) ) consiste em eliminar o ruído pequeno. Usar imediatamente o processo dual γ (1) (respectivamente φ (1) no filtro alternado seqüencial φ γ (i) ) deve permitir recuperar a informação prejudicada pelo primeiro processo. Caso for necessário, pode eliminar mais ruído usar portanto um elemento estruturante maior. Donde as outras etapas γ (i) e φ (i) . A figura 2.44 ilustra o efeito dos filtros alternados seqüenciais φ γ (2) e γφ (2) , a partir do elemento estruturante g = BC sobre a mesma imagem da figura 2.43-(a). No caso do filtro alternado seqüencial φ γ (2) , o ruído claro no fundo e nos objetos é eliminado e conjuntos pequenos escuros integram-se nas regiões escuras (figura 2.44-(b)). Tudo isto realçando o contraste entre estas regiões e dando mais importância às regiões escuras. O filtro alternado seqüencial γφ (2) , como é de se esperar, tem o efeito dual (figura 2.44-(c)). Elimina o ruído escuro no fundo e nos objetos e integra conjuntos pequenos claros nas regiões claras. Tudo isto realçando novamente o contraste entre estas regiões e dando mais importância às regiões claras. (a) (b) (c) Figura 2.44. Exemplos de filtros alternados seqüenciais: (a) Imagem original, (b) Filtro φ γ (2) , (c) Filtro γφ (2) . Constata-se, através dos exemplos anteriores que esses filtros tem como particularidade suavizar a imagem. Os filtros produtos e alternados seqüenciais têm a fama de constituir os melhores "limpadores de ruído"dentro dos filtros morfológicos existentes. Uma maneira de ilustrar esse fato é aplicar um filtro passa-alta de tipo operador de gradiente. A figura 2.45 ilustra os efeitos do gradiente morfológico por dilatação e erosão (página 55) respectivamente sobre a imagem da figura 2.45-(a) e sobre a imagem filtrada pelos filtros produto φ γφ (figura 2.45-(c)) e alternado seqüencial φ γ (figura 2.45-(d)), respectivamente. Percebe-se a aparição de menos altas freqüências (menos bordas) indesejáveis. Empregar filtros alternados seqüenciais supõe uma certa estacionaridade espacial das imagens a serem tratadas, o que não é sempre verificado. Na prática, o uso de tais filtros faz-se por uso heurístico dos elementos estruturantes sobre as imagens. [Net95] propôs uma versão adaptativa desses filtros onde o elemento estruturante é definido em função do aspecto local das imagens, que [Net95] chamou de filtros alternados seqüenciais adaptativos. 121 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) (c) Figura 2.45. Gradiente da imagem original versus Gradiente das imagens filtradas: a) Imagem original, (b) Gradiente da imagem original, (c) Gradiente após o filtro produto φ γφ , (d) Gradiente após o filtro alternado seqüencial φ γ . 122 VII Workshop de Visão Computacional – WVC 2011 2.3.6. Transformação TOPHAT É comum na área de Processamento e Análise de imagens ter que extrair conjuntos de geometria complexa num universo ruidoso e/ou em imagens com fundos heterogêneos. Técnicas tradicionais de segmentação como a detecção de bordas ou a limiarização, de forma geral, têm dificuldades para recuperar a informação relevante e ao mesmo tempo eliminar a heterogeneidade do fundo e o ruído. Veja o exemplo da figura 2.46 onde nenhuma técnica de limiarização é capaz de lidar com a heterogeneidade do fundo para obter uma imagem satisfatória dos caracteres manuscritos. Como lidar com a heterogeneidade do fundo e a presença de ruído? Serão apresentadas a seguir ferramentas que respondem muito bem a essa necessidade. (a) (b) Figura 2.46. Exemplo de imagem com fundo heterogêneo: (a) Imagem Original, (b) Segmentação por limiarização. 2.3.6.1. Tophat por abertura No caso de detecção de estruturas mais claras que o fundo (picos), um modo de pensar consiste em usar uma combinação entre uma imagem original e a imagem correspondente g aberta. A transformação Tophat por abertura Tophat γ segue esse princípio. Definição 2.35 mento estruturante g é: g O Tophat por abertura Tophat γ de uma imagem f pelo ele- g Tophatγ = f − γ g ( f ) Como a abertura é um processo anti-extensivo, o seu resultado fica abaixo do sinal original, portanto a transformação Tophatγg é sempre positiva. A figura 2.47 ilustra os aspectos teóricos deste processo. O exemplo da figura 2.48 ilustra a extração do brilho em gotas em uma imagem apresentando um fundo heterogêneo por Tophat por abertura. Com o uso de um elemento 123 VII Workshop de Visão Computacional – WVC 2011 Figura 2.47. Exemplo teórico da transformação Tophat por abertura estruturante adequado (figura 2.48-(c)), o processo de abertura permite a eliminação de estruturas mais claras que o fundo (picos) preservando o fundo heterogêneo. Realizar a diferença entre as imagens original e aberta permite tirar o ruído e eliminar o fundo heterogêneo, assim ressaltando as estruturas mais claras que tinham sido eliminadas após a abertura. O exemplo da figura 2.48-(e)) ilustra bem a extração de caracteres manuscritos após limiarização do Tophat. 2.3.6.2. Tophat por fechamento De forma análoga, a detecção de estruturas mais escuras que o fundo (vales) consiste em usar uma combinação entre uma imagem original e a imagem correspondente fechada. A g transformação Tophat por fechamento Tophatφ segue esse princípio. Definição 2.36 elemento estruturante g é: O Tophat por fechamento Tophatφg de uma imagem f pelo g Tophatφ = φ g ( f ) − f Como o fechamento é um processo extensivo, o seu resultado da transformação g Tophatφ é sempre positiva. A figura 2.49 ilustra os aspectos teóricos deste processo. O exemplo da figura 2.50 ilustra a extração de caracteres manuscritos em uma imagem apresentando um fundo heterogêneo com uso do Tophat por fechamento. O processo de fechamento permite, com o uso de um elemento estruturante adequado (figura 2.50-(c)), a eliminação de estruturas mais escuras que o fundo (vales) preservando o 124 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) (d) (e) Figura 2.48. Exemplo de segmentação por Tophat: (a) Imagem Original, (b) Imagem erodida, (c) Imagem abertura, (d) Tophat por abertura, (e) Extração do brilho em gotas após limiarização do Tophat. 125 VII Workshop de Visão Computacional – WVC 2011 Figura 2.49. Exemplo teórico da transformação Tophat por fechamento fundo heterogêneo. Realizar a diferença entre as imagens original e fechada permite tirar o ruído e eliminar o fundo heterogêneo, assim ressaltando as estruturas mais escuras que tinham sido eliminadas após o fechamento. O exemplo da figura 2.50-(e) ilustra bem a extração de caracteres manuscritos após limiarização do Tophat. 126 VII Workshop de Visão Computacional – WVC 2011 (a) (b) (c) (d) (e) Figura 2.50. Exemplo de segmentação por Tophat: (a) Imagem Original, (b) Imagem dilatada, (c) Imagem fechada, (d) Tophat por fechamento, (e) Extração dos caracteres manuscritos após limiarização do Tophat. 127 VII Workshop de Visão Computacional – WVC 2011 Referências [BB94] G.J.F Banon and J. Barrera. Bases da Morfologia Matemática para a Análise de Imagens Binárias. IX Escola de Computação, Recife, 1994. [Beu77] S. Beucher. Random process simulation on the texture analyser. Lecture Notes in Biomathematics, 23, 1977. [CC89] M. Coster and J.L Chermant. Précis D’ Analyse D’ Images. Presses du CNRS, 1989. [Dou92] E. R. Dougherty. An Introduction to Morphological Image Processing, volume TT9. SPIE Press, 1992. [Had50] H. Hadwiger. Minkowskische addition und subtraktion beleibiger punktmengen und die theoreme von erhard schmidt. Math.Zeitschrift, 53(3):210–218, 1950. [Had57] H. Hadwiger. Vorlesungen uber inhalt, oberfläche und isoperimetrie. Springer Verlag, Berlin, 1957. [LM84] C. Lantuéjoul and F. Maisonneuve. Geodesic methods in quantitative image analysis. Pattern Recognition, 17:177–187, 1984. [Mat75] G. Matheron. Random Sets and Integral Geometry. J. Wiley, New York, 1975. [Min03] H. Minkowski. Volumem und oberflache. Math. Annalen, 57:447–495, 1903. [Net95] U.D.M.B. Neto. Adaptative alternating sequencial filters. SIGRAPI-95, VIII Simpósio Brasileiro de Computação Gráfica e Processamento de Imagens, pages 35–42, Outubro 1995. [Pré93] F. Préteux. Mathematical Morphology in Image Processing, chapter On a Distance Function Approach for Gray-Level Mathematical Morphology. E. Dougerthy, Rochester Institute of Technology, New York, 1993. [Sch67] L. Schwartz. Mathematics for Physical Sciences. Hermann, Paris, 1967. [Ser82] J. Serra. Image Analysis and Mathematical Morphology. Academic Press, London, 1982. [Vin91] L. Vincent. Exact euclidean distance function by chain propagation. Proc. Computer Vision and Pattern Recognition Conf. Hawaii, pages 520–525, Junho 1991. [Vin94] L. Vincent. Digital Image Processing Methods, chapter Morphological Segmentation. E. Dougerthy, Rochester Institute of Technology, New York, 1994. 128