300 likes | 432 Views
2. Realce de imagens. Métodos no domínio espacial. 2.1 Convolução. 2. Realce de imagens. Métodos no domínio espacial. Exemplo de convolução. A=. B=. int Masc3x3[3][3]= { {-1, -1, -1}, {-1, 8, -1}, {-1, -1, -1} };
E N D
2. Realce de imagens Métodos no domínio espacial 2.1 Convolução
2. Realce de imagens Métodos no domínio espacial Exemplo de convolução A= B= int Masc3x3[3][3]= { {-1, -1, -1}, {-1, 8, -1}, {-1, -1, -1} }; channels=convolucao->nChannels; step=convolucao->widthStep; data=(uchar *)convolucao->imageData; for(r=2; r<convolucao->height-2; r++){ for(c=2; c<convolucao->width-2; c++){ //Processamento com Máscara 3x3 somacor = 0; for(m=-1; m<=1; m++){ for(n=-1; n<=1; n++){ NivelCinza = cvGet2D(filtro, r+m, c+n); somacor = somacor + (Masc3x3[m+1][n+1]*NivelCinza.val[0]); }}//fim do FOR m n data[r*step + c*channels] = somacor; //recebe valor de cinza do processo de convolução }}//fim do FOR r c
2. Realce de imagens Métodos no domínio espacial 2.2 Alargamento de contraste Imagem original Imagem realçada //Realce de imagens baseado em uma Transformação linear a = 1.0; b = -15.; for(r=0; r<img_transformed->height; r++){ for(c=0; c<img_transformed->width; c++){ Pixel = cvGet2D(Cinza, r, c); nc = a*(Pixel.val[0]) + b; data[r*step + c*channels] = nc; }}
2. Realce de imagens Métodos no domínio espacial 2.2 Alargamento de contraste (transformação linear) Imagem original Imagem realçada //Realce de imagens baseado em uma Transformação linear a = 1.0; b = 25.; for(r=0; r<img_transformed->height; r++){ for(c=0; c<img_transformed->width; c++){ Pixel = cvGet2D(Cinza, r, c); nc = a*(Pixel.val[0]) + b + 0.5; data[r*step + c*channels] = nc; }}
2. Realce de imagens Métodos no domínio espacial 2.2 Alargamento de contraste (transformação linear)
2. Realce de imagens Métodos no domínio espacial 2.2 Alargamento de contraste (transformação não linear)
2. Realce de imagens Métodos no domínio espacial 2.2 Alargamento de contraste
2. Realce de imagens Métodos no domínio espacial 2.3 Histograma de Imagens Alto contraste Imagem escura Baixo contraste ?
2. Realce de imagens Métodos no domínio espacial Rotina para calcular histograma de imagem void histograma() { longintfreq[256]; intmax, k1, k2, i, j; for (i=0; i<256; i++) freq[i] = 0; max = 0; for (i=2; i<larg-2; i++) for (j=2; j<altu-2; j++) { k1 = ImagemEntrada[i][j]; freq[k1]++; if ( freq[k1] > max ) max = freq[k1]; } k1 = round(max / 100.0); for (i=0; i<256; i++) { k2 = (int) freq[i] / k1; Histograma->MoveTo(i,100); Histograma->LineTo(i,100-k2); } }
2. Realce de imagens Métodos no domínio espacial 2.3 Equalização de histograma Exercício - Dada a Tabela abaixo: Equalizar o histograma Montar o histograma não equalizado e equalizado Montar a função de transformação utilizada para a equalização
2. Realce de imagens Solução do exercício anterior Histograma não equalizado Função de Transformação Histograma equalizado
2. Realce de imagens Métodos no domínio espacial 2.4 Limiarização
2. Realce de imagens Métodos no domínio espacial 2.4 Limiarização T = 100 T = 200
2. Realce de imagens Métodos no domínio espacial 2.4 Limiarização • Tipos de limiar (T) • Global • Local • Adaptativo Global Local Adaptativo Relações espaciais (1) (2)
Abertura • Propriedades: • Suaviza o contorno da imagem Fechamento • Propriedades: • Suaviza o contorno da imagem e elimina pequenos buracos na imagem • Abertura e fechamento são duais em relação à complementação e reflexão
Abertura • Propriedades: • Suaviza o contorno da imagem • A o B é um subconjunto de A • (A o B) o B = A o B Fechamento • Propriedades: • Suaviza o contorno da imagem e elimina pequenos buracos na imagem • A é um subconjunto de A o B • (A o B) o B = A o B • Abertura e fechamento são duais em relação à complementação e reflexão
Exemplo de abertura • Convolução de B em A
Extração de fronteiras origem