Colorir

3 views
Skip to first unread message

Nécio de Lima Veras

unread,
Dec 21, 2011, 2:07:26 PM12/21/11
to pibicjr_de...@googlegroups.com
Boa tarde Pessoal,

Existe uma dúvida da Priscila em relação à coloração de pixels usando o ImageJ.
Bom, vamos lá:

1. Em Java existe uma classe chamada Color que automatiza o uso de qualquer coisa que use cores, especialmente sob o modelo RGB (Red, Green e Blue). Neste modelo existem quatro camadas: as três cores citadas + um canal ALPHA que indica transparência.
Leituras:


2. Precisaremos um objeto do tipo ColorProcessor do ImageJ. Nele existe um método (Color getColor(x,j)) que devolve um objeto do tipo Color e recebe como parâmetro as coordenadas do pixel que se deseja extrair a cor.

3. Com um Color é possível separar os valores dos canais e trabalhar individualmente com eles. Exemplo:

Image img = imagePlus.getImage();
ColorProcessor imgP = new ColorProcessor(img);

Color c = imgP.getColor(i, j);

int corRGB[] = {c.getRed(), c.getGreen(), c.getBlue()};

Podemos atribuir diretamente uma cor ao objeto usando o comando:

c = Color.BLUE;


Com esse exemplo podemos atribuir a um pixel da imagem a cor que desejarmos. Como segue:

imgP.putPixel(i, j, corRGB);


Pronto! O Pixel está modificado, agora é só atualizar o "canvas".


Veja como ficaria o método completo para que a ID fosse colorida de AZUL.

...

Image img = imagePlus.getImage();
        ColorProcessor imgP = new ColorProcessor(img);

        for (int i = 0 ; i < imgP.getWidth(); i++)
            for (int j = 0; j < imgP.getHeight(); j++){
                Color c = imgP.getColor(i, j);               
                if (c.equals(Color.black)){
                    c = Color.BLUE;
                    int corRGB[] = {c.getRed(), c.getGreen(), c.getBlue()};
                    imgP.putPixel(i, j, corRGB);
                }
            }

        img = imgP.createImage();

        histograma();

        imagePlus = new ImagePlus("binary",img);

        atualizaCanvas();

...

Abraços,
 
--
___________________________________________________________
Prof. Esp. Nécio de Lima Veras
Coordenador dos cursos de Informática (eixo de Informação e Comunicação)
Instituto Federal de Educação, Ciência e Tecnologia do Piauí - IFPI
Campus de Parnaíba
Email Institucional: ne...@ifpiparnaiba.edu.br
Gtalk: necio...@gmail.com
MSN: necio...@hotmail.com
Skype: necioveras
Twitter: @necioveras

Reply all
Reply to author
Forward
0 new messages