INF01046 - Fundamentos de Processamento de Imagens

Universidade Federal do Rio Grande do Sul

Instituto de Informática

Graduação em Ciências da Computação

Professor: Manuel Menezes de Oliveira Neto, Dr.

Aluno: Giovane Roslindo Kuhn

(home)

Laboratório I

Data: 23-Ago-06

Seguem as respostas para as questões solicitadas em laboratório.

3) mean2 :: "cameraman" = 118,7245 :: "pout" = 110,3037

4) std2 :: "cameraman" = 62,3417 :: "pout" = 23,1811

variância = std2 .^ 2 :: "cameraman" = 3886,5 :: "pout" = 537,3647

5) "cameraman" = O histograma está melhor distribuído. Nota-se uma imagem mais clara e com algumas regiões saturadas. Como a imagem original tem bom contraste, a imagem equalizada tem uma aparência não-natural.

"pout" = A imagem equalizada apresenta um melhor contraste. Nota-se que o resultado da equalização nesta imagem é melhor que o resultado no "cameraman".

6) "cameraman" = 256 / 256 / 8 / grayscale

"pout" = 240 / 291 / 8 / grayscale


Laboratório II

Data: 09-Set-06

Seguem as respostas e código para as questões solicitadas.

2) "gauss" = Afeta todas as frequências e intensidades na imagem com uma ruído aditivo :: saida = original + ruído

"s&p" = Afeta alguns pixels da imagem com ruído impulsivo, o que acaba corrompendo o pixel.

"speckle" = Afeta a imagem com um ruído multiplicativo, isto é, depende da intensidade do pixel :: saida = original + original * ruído

3) Na imagem média o ruído é reduzido, pois o ruído gaussiano é aditivo e com uma distribuição normal, ou seja, média igual a zero. De uma forma mais intuitiva, a probabilidade de um pixel estar com ruído nas 5 imagens é pequena, possibilitando que o seu valor real seja recuperado.

O double é necessário pois o Matlab não suporta "+" com tipo uint8.

5) Código fonte: flipud :: fliplr :: rot90

6) Código fonte: resize_bilinear


Laboratório III

Data: 25-Set-06

Seguem as respostas e código fonte para as questões solicitadas.

2) Código fonte: negative

3.a) Filtro atenua as altas frequências causando um borramento da imagem.

Código fonte: gaussian

3.c) Filtro elimina as baixas frequências, destacando as bordas da imagem.

Código fonte: laplacian

3.d) Filtro realça as altas frequências (bordas) da imagem original.

Código fonte: high_boost

3.e) Filtro realça as descidas de intensidade (claro para escuro) na direção horizontal.

Código fonte: prewitt_h

3.f) Filtro realça as subidas (escuro para claro) de intensidade na direção horizontal.

Código fonte: prewitt_hi

3.g) Filtro realça as descidas de intensidade (claro para escuro) na direção vertical.

Código fonte: prewitt_v

3.h) Filtro realça as subidas de intensidade (escuro para claro) na direção vertical.

Código fonte: prewitt_vi

4) Operador junta os filtros prewitt horizontal e vertical, realçando as bordas nas duas direções. 

Código fonte: magnitude


Laboratório IV

Data: 23-Out-06

Seguem as respostas para as questões solicitadas em laboratório.

2) Visualmente não tem sentido a imagem. Mas cada pixel representa o coeficiente de uma função com determinada frequência (função de base).

3) Os coeficientes são números complexos e o comando abs calcula a magnitude deste número. Com isso é possível visualizar quais os coeficientes de maior magnitude, o que indica que a frequência representada por àquele coeficiente tem maior importância na imagem original.

4) Visualmente é idêntica à imagem original.

5) As baixas frequência foram para o centro do espectro

6) O comando desloca os coeficientes, com isso as altas frequências recebem os pesos das baixas frequências e as baixas frequências os pesos das altas frequências. 

7) ifftshift ou fftshift 


Laboratório V

Data: 06-Nov-06

Seguem as respostas para as questões solicitadas em laboratório.

2.b) Cria a máscara para preservar as baixas frequências.

2.c) Calcula os coeficientes real e imaginário associados a cada uma das frequências das funções de base.

2.d) Apresenta o espectro de potência e depois translada a frequência (0,0) para o centro da imagem.

2.e) A multiplicação no domínio frequência equivale à convolução no domínio espacial. Operação deixa passar as baixas frequências.

2.f) Translada a origem (0,0) para o canto superior esquerdo. 

2.g) A imagem depois de filtrada está borrada, típico de um filtro passa  baixas.

3.b) Cria a máscara para preservar as altas frequências.

3.e) Operação deixa passar as altas frequências, que se encontram longe do centro da imagem.

3.g) A imagem depois de filtrada contém apenas as altas frequências, apenas as arestas da imagem.

4) Segue a máscara para reduzir o ruído periódico.

 

  

Trabalho I

Pedido: 09-Set-06    Entrega: 20-Set-06 

Objetivos: manipular arquivos de imagem, conversão em tons de cinza e quantização de cores.  

Segue um exemplo de projeto para manipular imagens jpeg, neste projeto estão os cabeçalhos e bibliotecas necessárias para compilar o projeto utilizando VS2003.

Download código fonte

1) Criar um novo projeto "Win32 Console Application"

2) Descompactar o arquivo com cabeçalhos e bibliotecas jpeg (lib_header.zip) no diretório do projeto

3) Descompactar as bibliotecas do VS6 (lib_v6.zip) no diretório do projeto 

4) Informar as bibliotecas jpeg que serão utilizadas no projeto, ir no menu "Project / Properties / Configuration / Linker / Inputs / Additional Dependencies" e digitar "jpeg.lib JPEG_API32.lib"

5) Ir no menu "Project / Properties / Configuration / Linker / Inputs / Ignore Specific Library" e digitar "libc.lib"

6) Compilar o projeto, uma warning será lançada que pode ser ignorada


Trabalho II

Pedido: 21-Set-06    Entrega: 09-Out-06

Objetivos: cálculo de histograma, ajuste de brilho e contraste, cálculo do negativo e equalização de histograma.


Trabalho III

Pedido: 18-Out-06    Entrega: 01-Nov-06

Objetivos: convolução e filtragem no domínio espacial, ampliação, redução e rotação de imagens.


Tópicos