Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial...

26
Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 3 de março de 2016

Transcript of Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial...

Page 1: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Processamento digital de imagens

Agostinho Brito

Departamento de Engenharia da Computação e AutomaçãoUniversidade Federal do Rio Grande do Norte

3 de março de 2016

Page 2: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação e filtragem de imagens no domínio espacial

O objetivo das técnicas de melhoramento é produzir imagems que são maisapropriadas para processamento que a imagem original.

As técnicas não são universais, ou seja, cada uma é capaz de tratar apenas umasituação específica.

Podem ser necessária a utilização de várias técnicas conjuntas para produzir umresultado útil.Os métodos discutidos podem ser elencados em duas categorias:

Métodos no domínio espacial, onde a manipulação dos pixels é realizadadiretamente no plano da imagem; eMétodos no domínio espectral, onde as técnicas de processamento são realizadasem um domínio diferente, utilizando transformadas como a de Fourier, ou atransformada Wavelet.

Em várias situações, o mesmo efeito pode ser obtido pelo processamento nosdomínio espacial e espectral. Entretanto, a escolha por um ou por outro vaidepender das restrições impostas no domínio do problema.

Page 3: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação e filtragem de imagens no domínio espacial

As técnicas de filtragem no domínio espacial podem ser representadas pelaequação

g(x , y) = T[f (x , y)]

A transformação T é um operador em f (x , y), podendo envolver o valor dos tonsde cor associados ponto (x , y), uma vizinhança definida em torno do ponto, bemcomo um conjunto de imagens tomadas de uma cena.

y

x

f(x,y)

Geralmente utiliza-se para as vizinhanças, subimagems quadradas ouretangulares centradas no ponto (x , y). A transformação é geralmente obtidavarrendo a imagem da esquerda para a direita e de cima para baixo, centrando asubimagem em cada ponto (x , y) da imagem original f (x , y) e atribuindo oresultado do processamento a uma imagem de destino g(x , y).

Poucas técnicas operam diretamente sobre os pixels da imagem original.

Page 4: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação de imagens no domínio espacial

Processamento de histograma

A forma mais simples de filtragem é quando a transformação possui vizinhança detamanho igual a 1× 1. Neste caso, a transformação consistirá em uma função demapeamento que converte os tons de cinza da imagem.

A determinação da função de mapeamento é feita através da análise dohistograma da imagem. O histograma é um vetor que armazena as ocorrências decada tom de cinza presentes.

1

10

100

1000

10000

100000

0 50 100 150 200 250 300

A função de mapeamento é da forma s = T(r), onde r e s são os tons de cinzadas imagems f (x , y) e g(x , y) em qualquer ponto (x , y).

Page 5: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação de imagens no domínio espacial

Exemplos de processamento linear de histograma

T

L2L1

Enlargamento

Threshold

Negativo

Histograma

L−1 r

sL−1

L−1 r

sL−1

L−1 r

L−1s

L−1 r

Page 6: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação de imagens no domínio espacial

Exemplos de processamento não linear de histogramaCompressão de faixa dinâmica: s = c log(1 + r)

sem compressão com compressãoFunção gamma para corrigir exibição em dispositivos de exibição: s = crγ

γ = 0.5 γ = 1 γ = 2

Page 7: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação de imagens no domínio espacial

Equalização de histogramasOperação que melhora o contraste, uniformizando o histograma da imagem deforma automática, redistribuindo os níveis de cinza existentes, e mapeando-ospara novos níveis.Embora os picos e vales do histograma sejam mantidos, eles deslocados após aequalização. Este procedimento fará com que o número de intensidades naimagem resultante seja igual ou menor que na imagem original.Como equalizar (em tons de cinza):

1 Calcular histograma: h(rk ), k ∈ [0, L− 1].2 Calcular histograma acumulado: ha(rk ) =

∑h(rj ), j = 0, 1, . . . , k .

3 Normalizar o histograma acumulado na faixa [0, L]: ha(rk ) = ha(rk )/ha(rL)4 Transformar a imagem: s = ha(rk ), k ∈ [0, L− 1]

Page 8: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação de imagens no domínio espacial

Melhoria usando operações aritméticas: médiaConsidere um dispositivo que captura imagens g(x , y) formadas pela adição deruído gaussiano η(x , y) de média zero à imagem original f (x , y), ou seja,g(x , y) = f (x , y) + η(x , y).

É possível mostrar que realizando uma média com K imagens g(x , y) tomadasem instantes diferentes, ou seja,

g(x , y) =1K

K∑i=1

gi(x , y)

o valor esperado para g(x , y), E{g(x , y)}, é igual a f (x , y), e σg(x,y) =1√Kση(x,y).

Logo, quanto mais imagens são tomadas, melhor fica a qualidade da imagem final.

Page 9: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação de imagens no domínio espacial

Melhoria usando operações aritméticas: média (σ = 255)

K=1 K=8 K=16

K=64 K=128 K=256

Page 10: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Transformação de imagens no domínio espacial

Melhoria usando operações aritméticas: subtraçãoRealizada quando à imagem original alguma modificação é adicionada, permitindodestaque de características.

g(x , y) = f (x , y)− h(x , y)

Ex: imagem médica antes (h(x , y)) e após a inserção de contraste radioativo(f (x , y)) no sistema sangüíneo.

Page 11: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Convolução e correlaçãoO objetivo da filtragem de imagens é extrair apenas tipos selecionados deinformação.

Para imagens digitais, a filtragem é digital e geralmente é realizada utilizandooperações na vizinhaça dos pixels.

A forma mais comum de filtragem espacial é usando a operação de convolução.Para o caso 1-Dimensional, a convolução é definida como

f (x) ∗ g(x) =

∞∫−∞

f (α)g(x − α)dα

onde α é uma variável de integração.

Para o caso bidimensional

f (x , y) ∗ g(x , y) =

∞∫∫−∞

f (α, β)g(x − α, y − β)dα dβ

Page 12: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

CorrelaçãoA equação da correlação é bastante semelhante à da convolução. É dada por

f (x , y) ◦ g(x , y) =

∞∫∫−∞

f (α, β)g(x + α, y + β)dα dβ

Na correlação, não há o espelhamento da função g(x , y). Se f (x , y) e g(x , y) sãoidênticas em um região, ocorre uma correspondência de padrão. Este é um dosseus usos principais.

A convolução, por outro lado, possui uma correspondência importante com afiltragem no domínio da freqüência, sendo a ferramenta de filtragem maiscomumente utilizada.

Page 13: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Interpretação gráfica da convolução 1-Dimensional

1

1

1/2

1

1/2

-1

1/2

-1

1/2

-1

1/2

1 2

Page 14: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Convolução digitalDada pela equação:

f (x , y) ∗ w(x , y) =1

MN

M−1∑m=0

N−1∑n=0

f (m, n)w(x −m, y − n)

onde: M e N são a altura e largura da imagem.

Implementada como:

g(x , y) =

a∑s=−a

b∑t=−b

w(s, t)f (x + s, y + t)

a∑s=−a

b∑t=−b

w(s, t)

Uso de padding: número de elementos em cada função é completado com zerosde modo que cada função fique com P ≥ M + N − 1 elementos.

Isso evita o cálculo incorreto na convolução circular.

Page 15: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtragem linear com máscarasQuando a vizinhança do pixel assume tamanhos maiores que 1× 1, é possívelrealizar dois tipos de filtragens adicionais: borramento, para suavizar os tons daimagem; e aguçamento, para realce de bordas.

Para cada pixel da imagem f (x , y), é calculado o valor do pixel correspondente naimagem g(x , y), usando uma máscara (ou kernel) wm×n.

g(x , y) =a∑

s=−a

b∑t=−b

w(s, t)f (x + s, y + t), a = (m − 1)/2, b = (n − 1)/2

subimagem sob a máscara

máscara máscara

Page 16: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtragem linear com máscarasOs efeitos dos filtros espaciais lineares podem observados no perfil dos tons deuma linha da imagem.

0

50

100

150

200

250

0 50 100 150 200 250

originalsuavizanteaguçante

Page 17: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtros suavizantes linearesAdequado para atenuar borrar ou atenuar ruídos.

Exempos de uso são a remoção de pequenos detalhes para extração de objetosgrandes, e a conexão de falhas em linhas ou curvas.

Exemplos de máscaras de borramento:

19×

1 1 11 1 11 1 1

116×

1 2 12 4 21 2 1

Page 18: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Exemplos de filtragem suavizante

3× 3 5× 5 7× 7 9× 9

Page 19: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtro suavizante não-linear: medianaAtribui a g(x , y) o valor da mediana dos tons de cinza situados na vizinhança def (x , y).

Apropriados para remoção de ruído impulsivo (sal e pimenta).

1 6 43 11 53 8 2

1 6 4 3 11 5 3 8 2← ordenação→

1 2 3 3 4 5 6 8 11

original média mediana

Page 20: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtros aguçantesUtilizados para realçar detalhes finos presentes em uma imagem, ou realçardetalhes borrados por algum processo degradatório.

Criados através de filtros derivativos: aproximação da derivada por diferenças.

∂f∂x

= f (x + 1)− f (x)

∂2f∂x2 = f (x + 1) + f (x − 1)− 2f (x)

original 1a

ordem 2a

ordem

Page 21: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtros aguçantesFiltros de primeira ordem: arestas mais largas, resposta constante para rampas,utilizada para operações de melhoramento.Filtros de segunda ordem: arestas mais finas, melhor resposta para ruídos, exiberesposta apenas nas transições, mais agressivo.

-300

-200

-100

0

100

200

300

400

500

600

0 50 100 150 200 250

original1a. ordem2a. ordem

Page 22: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtros aguçantes de 2a

ordemFiltro isotrópico (invariante à rotação): laplaciano

∇2f =∂2f∂x2 +

∂2f∂y2

Obtenção da máscara espacial

∂2f∂x2 = f (x + 1) + f (x − 1)− 2f (x)

∂2f∂y2 = f (y + 1) + f (y − 1)− 2f (y)

Somando ambas as componentes, monta-se a aproximação para o laplaciano.

∇2f = f (x + 1, y) + f (x − 1, y) + f (x , y + 1) + f (x , y − 1)− 4f (x , y)

Máscaras que implementam o laplaciano

0 1 01 -4 10 1 0

ou0 -1 0-1 4 -10 -1 0

Page 23: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtros aguçantes de 2a

ordemPara salientar as descontinuidades existentes, soma-se o resultado do laplacianoà imagem original. Utilizando a máscara com coeficiente central positivo, aimagem melhorada será g(x , y) = f (x , y) +∇2f .

f (x , y) ∇2f f (x , y) +∇2f

Page 24: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtros aguçantes de ênfase em altas frequênciasUsada para manter as características da imagem, realçando as bordas pelo ajustede um parâmetro. Dada uma imagem f (x , y) e seu realce aguçado fa(x , y), o filtrode ênfase, ou high-boost será dado por

g(x , y) = Af (x , y) + fa(x , y)

Este filtro pode ser implementado com uma das seguintes máscaras:

0 -1 0-1 A+4 -10 -1 0

ou-1 -1 -1-1 A+8 -1-1 -1 -1

original A = 1.3 A = 1.7

Page 25: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtro do gradienteUtilizado para inspeção industrial, em passos de pré-processamento. Menossensíveis a ruídos que filtros de segunda ordem.

Formulação

∇f =[

Gx

Gy

]=

[ ∂f∂x∂f∂y

]Magnitude do vetor gradiente

∇f = mag(∇f)

= [G2x + G2

y ]1/2

=

[(∂f∂y

)2

+

(∂f∂x

)2]2

' |Gx |+ |Gy |

Aproximação com máscaras

z1 z2 z3

z4 z5 z6

z7 z8 z9

∇f ' |(z7 + 2z8 + z9)− (z1 + 2z2 + z3)|+|(z3 + 2z6 + z9)− (z1 + 2z4 + z7)|

Operadores de Sobel

-1 -2 -10 0 01 2 1

-1 0 1-2 0 2-1 0 1

Gx Gy

Page 26: Processamento digital de imagens - Agostinho BritoTransformação de imagens no domínio espacial Processamento de histograma A forma mais simples de filtragem é quando a transformação

Filtragem de imagens no domínio espacial

Filtro do gradiente

Original Sobel x Sobel y Gradiente