Processamento de Imagens COS756 / COC603 aula 03 - operações no domínio espacial Antonio Oliveira Ricardo Marroquim 1 / 38
aula de hoje operações no domínio espacial overview imagem digital operações no domínio espacial histograma filtragem espacial 2 / 38
imagem digital definição função 2D f (x, y) para cada (x, y) retorna um valor de intensidade por enquanto vamos pensar somente em tons de cinza (1 canal) se (x, y) assumir valores discretos temos uma imagem digital cada (x, y) representa um pixel domínio espacial simplesmente o plano da imagem mais tarde veremos o domínio da frequência por exemplo 3 / 38
imagem digital 4 / 38
operações definição g(x, y) = T [f (x, y)] operação na vizinhança de (x, y) obs: pode ser aplicada em mais de uma imagem ao mesmo tempo vizinhança : filtro, kernel, máscara, template, janela... (x,y) vizinhança 3x3 5 / 38
operações operação simples operação na vizinhança de tamanho 1x1 transformação de intensidade aproximação para valores discretos, geralmente [0, 255] 6 / 38
operações operação simples ajuste de contraste valores < k ficam mais escuros valores > k ficam mais claros 7 / 38
operações operação simples negativo apenas para inspeção informação não muda 8 / 38
operações power-law (gamma) s = cr γ 9 / 38
operações power-law (gamma) correção gamma monitores função da intensidade/voltagem correção aplica função inversa se função é r 2.5 correção aplica r 0.4 10 / 38
operações power-law (gamma) γ = 0.6, 0.4, 0.3 11 / 38
operações power-law (gamma) γ = 3.0, 4.0, 5.0 12 / 38
operações linear por partes 13 / 38
histograma histograma função discreta h(r k ) = n k k k-ésimo valor de intensidade n número de pixels com valor r k geralmente é normalizado p(r k ) = n k /NM histograma : base de muitos algoritmos implementações em hardware são comuns 14 / 38
histograma equalização de histograma aproveitar melhor toda a faixa de intensidades antes uma breve revisão de probabilidade 15 / 38
probabilidade variável aleatória 16 / 38
probabilidade variável aleatória variável aleatória discreta X tem n eventos possíveis 16 / 38
probabilidade variável aleatória variável aleatória discreta X tem n eventos possíveis e.g. para um dado: X i = 1, 2, 3, 4, 5, 6 probabilidade de cada evento p i = 1/6 16 / 38
probabilidade variável aleatória variável aleatória discreta X tem n eventos possíveis e.g. para um dado: X i = 1, 2, 3, 4, 5, 6 probabilidade de cada evento p i = 1/6 a soma das probabilidades deve ser igual a um n i=1 p i = 1 16 / 38
probabilidade variável aleatória variável aleatória discreta X tem n eventos possíveis e.g. para um dado: X i = 1, 2, 3, 4, 5, 6 probabilidade de cada evento p i = 1/6 a soma das probabilidades deve ser igual a um n i=1 p i = 1 função densidade de probabilidade (PDF - probability density function)) 16 / 38
histograma equalização de histograma podemos pensar no histograma normalizado como probabilidade de ocorrer um pixel com intensidade r k onde n k = 1 o que queremos? gerar uma PDF uniforme neste caso o histograma é uma distribuição uniforme os pixels são divididos igualmente em todas faixas 17 / 38
histograma equalização de histograma CDF (Cumulative Density Function) P(x) = Pr{X x} note que na figura a PDF não é uniforme pdf cdf 18 / 38
histograma equalização de histograma precisamos inverter a CDF para encontrar p(s) onde P(s) seja uma CDF linear 19 / 38
histograma equalização de histograma precisamos inverter a CDF para encontrar p(s) onde P(s) seja uma CDF linear vendo de outra forma se p(r) possui valor alto (CDF inclinada) então p(s) deve ser larga, e vice-versa 19 / 38
histograma equalização de histograma no caso contínuo temos o seguinte cenário p(r) P(r) r r 20 / 38
histograma equalização de histograma e queremos... P(s) p(s) s s 21 / 38
histograma equalização de histograma para tanto, se nossa CDF for monótona crescente, basta usar a própria CDF para descobrir os valores dos pixels na imagem transformada s k = T (r k ) = P(x) e no caso discreto: s k = T (r k ) = (L 1) que não necessariamente será uniforme k p r (r j ) j=0 22 / 38
histograma equalização de histograma 23 / 38
histograma 0 50 100 150 200 250 pdf cdf 24 / 38
histograma 0 50 100 150 200 250 pdf cdf 25 / 38
filtragem espacial aceitar ou rejeitar frequências ex: filtro passa baixa remove frequências altas (borramento) pesos máscara vizinhança 26 / 38
filtragem espacial convolução g(x, y) = ω( 1, 1)f (x 1, y 1) +... + ω(1, 1)f (x + 1, y + 1) a b g(x, y) = ω(s, t)f (x + s, y + t) s= a t= b g(x, y) = ω(x, y)ḟ (x, y) 27 / 38
filtragem espacial smoothing trocar o valor de um pixel pela média dos vizinhos objetivo: diminuir transições bruscas (frequências altas) ruído aleatório geralmente é caracterizado por frequências altas por outro lado, as arestas também (borramento) 28 / 38
filtragem espacial smoothing filtro box ruído aleatório geralmente é caracterizado por frequências altas por outro lado, as arestas também (borramento) 1 1 1 1/9 * 1 1 1 1 1 1 29 / 38
filtragem espacial 3,5,9,15,35 30 / 38
filtragem espacial smoothing filtro média ponderada b g(x, y) = suma s= a t= b ω(s, t)f (x + s, y + t) sums= a a b t= b ω(s, t) mais importância no centro, menos borramento porém, para 3x3 faz pouca diferença 31 / 38
filtragem espacial smoothing filtro mediano eliminar ruído saltpepper 32 / 38
filtragem espacial sharpening realça arestas e outras áreas de descontinuidade infelizmente, o ruído também derivadas 1 a derivada 2 a derivada f x = f (x + 1) f (x) 2 f = f (x + 1) + f (x 1) 2f (x) x 2 33 / 38
filtragem espacial 34 / 38
filtragem espacial gradiente 1 a derivada f = grad(f ) = [g x, g y ] T = [ f x, f y ]T vetor na direção de maior mudança magnitude M(x, y) = mag( f ) = g 2 x + g 2 y imagem do gradiente 35 / 38
filtragem espacial Sobel deteção de arestas aproximação da derivada parcial em uma janela 3x3-1 0 1-1 -2-1 -2 0 2 0 0 0-1 0 1 1 2 1 36 / 38
filtragem espacial Laplaciano 2 a derivada invariante a rotação (isotrópico) 2 f = 2 f x 2, 2 f y 2 2 f = f (x + 1, y) + f (x 1, y) + f (x, y + 1) + f (x, y 1) 4f (x, y) 0 1 0 1 1 1 1-4 1 1-8 1 0 1 0 1 1 1 37 / 38
filtragem espacial 38 / 38