320 likes | 608 Views
Interpolação de imagem. A interpolação ou reamostragem de imagens é amplamente utilizada em processamento de imagens e vídeos. Ela é utilizada para ampliar, reduzir, e rotacionar imagens . Também é utilizada para criar efeitos como “morphing/warping”, para corrigir distorção da lente,
E N D
Interpolação de imagem • A interpolação ou reamostragem de imagens é amplamente utilizada em processamento de imagens e vídeos. • Ela é utilizada para ampliar, reduzir, e rotacionar imagens. • Também é utilizada para criar efeitos como “morphing/warping”, • para corrigir distorção da lente, • para fazer interpolação de cores nos dispositivos para aquisição de imagens (câmeras, scanners,etc),
Interpolação de imagem • para registrar imagens (criar uma única imagem “grudando” duas ou mais imagens), estabilizar tremor da câmera de vídeo, • para corrigir a movimentação do paciente em imagens médicas, • para normalizar imagens médicas que envolvem vários sujeitos, etc.
Interpolação de imagem Interpolação – processo em que valores conhecidos são usados para estimar valores desconhecidos
Interpolação de imagem • Ampliação da imagem baseada no Método do vizinho mais próximo: atribui a cada nova posição o valor do pixel do seu vizinho mais próximo na imagem original replicação de pixels – caso especial quando zoom é um numero inteiro de vezes (2, 3 , 4..)
Interpolação de imagem Considere uma imagem 500x500 e uma ampliação para 750x750; Imagine um grid 750x750 com o mesmo espaçamento de pixels; Reduza o grid para se sobrepor a imagem de 500x500; Atribua a cada posição do grid 750x750 um valor de pixel mais próximo na imagem original; Expanda o grid 750x750 para seu espaçamento original
Interpolação VMP • Efeito de blocos • Processamento rápido • Não cria novos valores de NC (mantém estatísticas da imagem)
Interpolação de imagem • Exemplo considerando uma ampliação de duas vezes: • Considere a imagem • .....f(i,j) f(i,j+1) ..... • .....f(i+1,j) f(i+1,j+1) ..... • . . • acrescentando linhas e colunas de zeros, obtemos: • .....f(i,j) 0 f(i,j+1) ..... • 00 0 • .... f(i+1,j) 0 f(i+1,j+1) .....
Interpolação de imagem • Após a interpolação temos a imagem reconstruída em tamanho duplicado. • .....f(i,j) f(i,j) f(i,j+1) ..... • f(i,j)f(i,j)f(i,j+1) • .... f(i+1,j) f(i+1,j) f(i+1,j+1) ..... • Obs: a média dos níveis de cinza da imagem ampliada se mantém constante. • A técnica é simples mas pode produzir artefatos e distorções em linhas retas.
Interpolação Bilinear • O valor obtido pela média ponderada dos NCs dos pontos E e F é transferido para a posição X • Efeito de suavização devido a operação de média
Interpolação de imagem • Exemplo Ampliação da imagem com interpolação bilinear com zoom = 2 • Considere a imagem: . . • .....f(i,j) f(i,j+1) ..... • .....f(i+1,j) f(i+1,j+1) ..... • . . • Acrescente linhas e colunas conforme ilustração • .....f(i,j) a f(i,j+1) ..... • bc d • .... f(i+1,j) e f(i+1,j+1) ..... • Substitua:a = (f(i,j) + f(i,j+1)) / 2 • e = (f(i+1,j) + f(i+1,j+1)) / 2 • b = (f(i,j) + f(i+1,j)) / 2 • d = (f(i,j+1) + f(i+1,j+1)) / 2 • c = (f(i,j) + f(i,j+1) + f(i+1,j) + f(i+1,j+1)) / 4
Bilinear Efeitos da Interpolação VMP 1/2X 2X
Interpolaçao de Imagens Replicaççã de pixels
Exercício Faça uma função em Matlab que execute a ampliação e a redução de imagens monocromáticas (considere também fatores de ampliação não inteiros) usando o método dos vizinhos mais próximos e outra usando interpolação bilinear.
Topologia da Imagem Digital – Vizinhança de um pixel a) Vizinhança-4 de um pixel p (N4(p)) Um pixelp na coordenada (x,y) tem 4 vizinhos cujas coordenadas são dadas por (x+1, y), (x-1, y), (x, y+1), (x, y-1) b) Vizinhança diagonal de um pixel p (ND(p)) Um pixelp na coordenada (x,y) tem 4 vizinhos na diagonal cujas coordenadas são dadas por (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1) c) Vizinhança-8 de um pixel p (N8(p)) O 8-vizinhos de um pixelp é o conjuntos dos N4(p) e dos ND(p).
Topologia da Imagem Digital –Adjacencia Dois pixels p e q estão adjacentes se são vizinhos (segundo um tipo de vizinhança adotada) e se seus elementos satisfazem um determinado critério de similaridade (cor, intensidade de cinza, textura);
Topologia da Imagem Digital –Adjacencia Seja V o critério de similaridade. Tipos de adjacência: • Adjacencia-4: dois pixels p e q são adjacentes-4 se satisfazem V e q ϵ N4(p); • Adjacencia-8: dois pixels p e q são adjacentes-8 se satisfazem V e q ϵ N8(p); • Adjacencia-m: dois pixels p e q são adjacentes-m se satisfazem V e se q ϵ N4(p) ou q ϵ ND(p) e N4(p) ∩ N4(q) não possuem pixels que satisfazem V.
Topologia da Imagem Digital –Adjacencia • A adjacencia-m é uma modificação da adjacencia-8; • Útil para eliminar ambigiudades que ocorrem quando adjacencia- • 8 é usada.
Um caminho de um pixel p com coordenadas (x0,y0) a um pixel q com coordenadas (xn,yn) é uma sequencia de pixels distintos com coordenadas: (x0,y0), (x1, y1),….. (xn,yn) em que (xi,yi) e (xi-1,yi-1) são adjacentes para 1≤ i ≤ n n é o comprimento do caminho Topologia da Imagem Digital – caminho
Um caminho é fechado se (x0,y0) = (xn,yn). Um caminho pode ser classificado como caminho-4, caminho-8 ou caminho-m, dependendo do tipo de adjacencia especificada. Topologia da Imagem Digital – caminho
Topologia da Imagem Digital – Conectividade Conectividade entre pixels é um conceito importante usado para estabelecer os limites dos objetos e as componentes de uma imagem. Seja S um subconjunto de pixels da imagem. Dois pixels p e q são conectados em S se existir um caminho entre eles, tal que todos os pixels do caminho pertencem a S; S pode conter uma ou mais componentes conectadas (regiões);
Topologia da Imagem Digital – Conectividade Duas regiões R1 e R2 são adjacentes se pelo menos um pixel de R1 for adjacente a R2. 1 1 1 0 0 0 R1 e R2 são adjacentes para 1 1 1 1 0 0 adjacencia-8; caso contrario 1 1 0 0 1 1 elas são disjuntas. 0 0 0 0 1 1
Topologia da Imagem Digital - Rotular Componentes Conectadas Considere que as componentes sejam 4-conectadas: r t p Seja p um pixel a ser analisado. A varredura se dá da esquerda para a direita, de cima para baixo. Seja r e t o pixel de cima e a esquerda respectivamente. Dada a natureza da varredura, r e t já foram rotulados se satisfizeram o critério de similaridade (Cs=1; considere que estamos tratando com uma imagem binária).
Topologia da Imagem Digital – Rotular Componentes Conectadas • Procedimento: • Se p = 0 então verifica o próximo pixel; • Se p =1, examina r e t • Se (r = 0 e t = 0) então rotula p com novo rótulo; • Se ( r = 1 e t = 0) ou (r = 0 e t = 1) rotula p com o rótulo de r ou de t; • Se (r = 1 e t = 1) e possuem o mesmo rótulo então rotula p com este rótulo; • Se (r = 1 e t = 1) e possuem rótulos diferentes então rotula p com um dos rótulos e indica equivalência de rótulos;
Topologia da Imagem Digital – Rotular Componentes Conectadas • No final do processo todos os pixels que satisfazem o critério de similaridade estarão rotulados, mas alguns com rótulos equivalentes. • Neste caso: • transformar todos os pares de rótulos equivalentes em classes de equivalência, atribuindo um rótulo diferente para cada classe; • varrer novamente a imagem e substituir cada rótulo pelo rótulo atribuído a sua classe de equivalência.
Topologia da Imagem Digital – Rotular Componentes Conectadas Considere Cs={1} e a imagem abaixo: 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 Componentes 4-conectadas: A A 0 0 0 0 0 0 A A 0 0 0 0 0 0 0 B 0 0 0 0 0 0 B B 0 C 0 0 0 0 0 D D 0 0 0 0 0 D D Os rótulos C e D são equivalentes. Temos, portanto, 3 componentes 4-conectadas. Como o procedimento de rotular deve ser alterado para obtermos componentes 8-conectadas???
Exercício Usando o Matlab, escreva duas funções para rotular imagens binárias, uma para componentes 4-conectas e outra para componentes 8-conectadas (ou uma função cuja conectividade entra como parametro). A função deve retornar o numero de componentes conectadas. Cada componente conectada rotulada deve ser mostrada com uma cor diferente para facilitar a identificação das regiões na imagem.
Topologia da Imagem DigitalContorno ou borda Contorno de uma região R é o conjunto de pixels em R que tem pelo menos um vizinho no fundo da imagem (background). A adjacência deve ser definida para se definir a conectividade. 0 1 1 0 0 é borda se adjacência com fundo 0 1 1 1 0 for 8. 0 0 1 1 0
Topologia da Imagem Digital Medidas de Distancia • Para os pixesl x, y e z com coordenadas (x1,x2), (y1,y2) e (z1,z2) respectivamente, D é uma função de distância ou métrica se: • D(x,y) >= 0 (não-negatividade) • (D(x,y) = 0 se e somente se x=y (identidade) • D(x,y) = D(x,y) (simetria) • D(x,z) <= D(x,y) + D(y,z) (desigualdade triangular)
Topologia da Imagem Digital Medidas de Distancia • Familia Minkowski
Topologia da Imagem Digital Medidas de Distancia • DistânciaEuclidiana (p = 2): De(x,y) = [(x1-y1)2 + ( x2-y2)2]1/2 • Manhattan ouCity-block distance ou (p = 1): • D4(x,y) = |x1-y1| + |x2-y2| • Chebychevou Chessboard distance ( p = α): D8(x,y) = max(|x1-y1|, |x2-y2|)
Topologia da Imagem Digital Medidas de Distancia ξ é o raio de consulta ξnodo é o raio de abrangência de um nó sendo avaliado Se o nó avaliado poder ser descartado