Computação Gráfica
Primeiro Semestre de 2015 Lista de Exercı́cios 1
Nome:
Prof. Dr. Sylvio Barbon Jr
13/07/2015
Estrutura Básica - ImageJ
*
ImageJApplet: Permite que a aplicação seja rodada encapsulada em uma Applet Java.
ImageJ: É a classe principal de uma aplicação (ou plugin) para o ImageJ.
Executer: A classe que executa as classes em threads separadas;
IJ: Uma classe com diversos métodos úteis.
ImagePlus: A classe que representa uma imagem no ImageJ, baseada no ImageProcessor.
ImageStack: É um array de imagens, útil para se trabalhar com várias matrizes da mesma
imagem.
ImageConverter: É uma classe com diversos métodos para conversão de um ImagePlus
em outro.
ImageProcessor: Uma classe abstrata de implementações de processadores de imagem
(ImageProcessors).
StackConverter: Uma classe para conversão de matrizes de uma imagem para outra.
StackProcessor: Uma classe para processar uma ”pilha” de imagens.
Exemplo de código:
import
import
import
import
ij
ij
ij
ij
. ImagePlus ;
. i o . Opener ;
. process . ByteProcessor ;
. process . ImageProcessor ;
import j a v a . awt . C o l o r ;
public c l a s s Exemplo1 {
public s t a t i c void main ( S t r i n g a r g s [ ] ) {
new Exemplo1 ( ) . run ( ” Ola ” ) ;
}
public void run ( S t r i n g a r g ) {
i n t width = 3 0 0 ;
int height = 300;
I m a g e P r o c e s s o r i p = new B y t e P r o c e s s o r ( width , h e i g h t ) ;
ip . setColor ( Color . black ) ;
ip . f i l l ( ) ;
f o r ( i n t x = 0 ; x < width ; x++) {
f o r ( i n t y = 0 ; y < h e i g h t ; y++) {
i f ( x == y | | ( width − x ) == y )
ip . putPixel (x , y , 255);
}
}
ImagePlus imp = new ImagePlus ( ”Imagem R e s u l t a n t e ” , i p ) ;
imp . show ( ) ;
}
}
Computação Gráfica
Lista de Exercı́cios 1 - Páginas 2 de 3
13/07/2015
1) Implemente um método para criar uma imagem de um tabuleiro de Xadrez, usando
64x64 pixels.
2) Implemente um método para criar uma imagem (16x16) em tons de cinza (GRAY8),
onde sejam exibidos todos os tons de cinza.
3) Implemente um método para criar uma imagem colorida (COLOR RGB) de um tabuleiro de Xadrez 256x256, sendo as cores amarelo e vermelho.
4) Implemente um método para criar uma imagem 100px x 66px, colorida usando 8 bits
(COLOR RGB). Nesta imagem você deve desenhar a bandeira do Japão.
5) Implemente um método para abrir a imagem criada no Exercı́cio 3 e substituir a cor
amarelo por azul.
6) Implemente um método para calcular o histograma de uma imagem em tons de cinza
passada como parâmetro. O histograma deve ser salvo como uma nova imagem, semelhante
a um gráfico de barras.
7) Implemente um método para binarizar de uma imagem em tons de cinza dado um limiar
e depois salve-a no disco.
8) Implemente um método para binarizar de uma imagem em tons de cinza pela média
das tonalidades e depois salve-a no disco.
9) Implemente um método para binarizar de uma imagem em tons de cinza pela mediana das tonalidades e depois salve-a no disco.
10) Implemente um método para segmentação adaptativa de uma imagem em tons de cinza
dado um tamanho de Janela como parâmetro. Faça a segmentação pela média das tonalidades e salve em disco.
11) Implemente um método para segmentação adaptativa de uma imagem em tons de cinza
dado um tamanho de Janela como parâmetro. Faça a segmentação pela mediana das tonalidades e salve em disco.
12) Implemente uma método para normalizar o histograma de uma imagem em tons de
cinza e salvá-la em disco.
13) Implemente um método para equalizar o histograma de uma imagem em tons de cinza
e salvá-la em disco.
14) Implemente um método para calcular o histograma de uma imagem colorida (COLOR RGB)
passada como parâmetro. O histograma deve ser salvo como uma nova imagem, contemp-
Computação Gráfica
Lista de Exercı́cios 1 - Páginas 3 de 3
13/07/2015
lando os canais RGB.
15) Implemente um método para substituir os canais RGB de cor de uma imagem colorida
(COLOR RGB) passada como parâmetro. Os canas devem seguir uma ordem de energia,
onde o canal de maior energia é o primeiro e o de menor é o último.
Download

Lista - Sylvio Barbon Junior