Como abrir imagem e capturar os pixels da mesma  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
doug_sciani
Debugger

Membro desde: 23/08/2009 21:44:04
Mensagens: 65
Offline

Olá pessoal tudo bem? Bom estou postando uma parte de um codigo que estou implementando. E gostaria da ajuda de vocês para conferir se está certo. Pois ainda não achei um modo de abrir novamente a imagem depois de jogar nesta matriz de pixels.


try {
BuffImage = ImageIO.read(fileop);
numBandas= BuffImage.getSampleModel().getNumBands();
Raster imageraster = BuffImage.getRaster();
int[][] vetorPixels = new int[numBandas][largura*altura];
for (int i = 0; i < altura; i++)
for (int j = 0; j < largura; j++) {
indice = i*largura + j;
for (int nb = 0; nb < numBandas; nb++)
vetorPixels[nb][indice] = imageraster.getSample(j, i, nb);
}


Bom neste trecho de codigo, estou pegando os valores dos pixels de uma imagem lida. Gostaria de saber se está correto esta implementação. E como eu faria para fazer o inverso, no caso plotar a imagem com os valores que estão dentro da matriz de pixel.

abraços!!

Douglas Sciani Negreiros - Graduando em Computação. PUC Minas - Poços de Caldas.
pedroroxd
GUJ Master
[Avatar]

Membro desde: 26/08/2009 14:56:11
Mensagens: 1615
Localização: Santa Rita do Sapucaí - O vale da Eletrônica
Offline

To precisando da mesma coisa... rs
Alguém ae?

Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja Isso!

"Quem quer fazer, arranja um jeito. Quem não quer, uma desculpa."

'The dictionary is the only place that success comes before work!"

"Não diga à Deus que você tem um grande problema, diga ao problema que você tem um grande Deus."

"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple.
But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."


"O Brasil é um país geométrico. Tem problemas angulares, discutidos em mesas redondas, por um monte de bestas quadradas."

"Olho por olho, e o mundo acabará cego."

"Se falam pelas costas, é sinal que eu to na frente"
a.moraissoares
JavaChild
[Avatar]

Membro desde: 07/04/2009 12:53:08
Mensagens: 113
Offline

Opa amigo. Poste seu código entre as tags code:
Pra ficar mais fácil do pessoal te ajudar

This message was edited 1 time. Last update was at 22/09/2009 12:59:33

ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Online

Você pode usar os métodos getPixel e setPixel da classe Image.

O que exatamente você está tentando fazer? Filtros?

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
doug_sciani
Debugger

Membro desde: 23/08/2009 21:44:04
Mensagens: 65
Offline

então estou abrindo uma imagem e pegando todos os pixels desta imagem, pois vou ter que depois de pegar estes pixels, fazer uma comparação usando algumas mascaras pre definidas.

Estou usando isso para fazer um reconhecimento.

Exemplo:

Após pegar estes pixels, e pre definir algumas matrizes de mascaras, vou passar comparando no vetor que eu peguei os pixels. Para saber na posição x do vetor, se ha alguma mascara que corresponde ao vetor( no caso a imagem).

Bom vê ae se entenderam, senão qualquer coisa eu tento explicar melhor.

obrigado

Douglas Sciani Negreiros - Graduando em Computação. PUC Minas - Poços de Caldas.
pedroroxd
GUJ Master
[Avatar]

Membro desde: 26/08/2009 14:56:11
Mensagens: 1615
Localização: Santa Rita do Sapucaí - O vale da Eletrônica
Offline

Então o que eu estou pensando é diferente...
Tem uma imagem com diversos pixels, quando a pessoa passa o mouse em cima do pixel, aparece o número dele (567 - 254)..
Ae eu iria esconder dentro do click de alguns pixels "premios".
Quando a pessoa clica num pixel errado, exibe uma mensagem de erro...
Quando clica no pixel com o premio escondido por mim, exibe uma mensagem falando que ela ganhou...

Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja Isso!

"Quem quer fazer, arranja um jeito. Quem não quer, uma desculpa."

'The dictionary is the only place that success comes before work!"

"Não diga à Deus que você tem um grande problema, diga ao problema que você tem um grande Deus."

"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple.
But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."


"O Brasil é um país geométrico. Tem problemas angulares, discutidos em mesas redondas, por um monte de bestas quadradas."

"Olho por olho, e o mundo acabará cego."

"Se falam pelas costas, é sinal que eu to na frente"
Lucas Abbatepaolo
JavaEvangelist
[Avatar]

Membro desde: 28/09/2009 16:33:23
Mensagens: 310
Offline

pra fazer o inverso vc deve criar novamente um BufferedImage a partir da matriz q vc criou.
Vc pode fazer isso com um estrutura de repetiçao msm. Se naum me engano vc usa o metodo setRGB(int coordenadaX, int coordenadaY, int valorDoPixel).


Programador Arquiteto

Bacharel em Sitemas de Informação
Oracle Certified Professional Java SE 6 Programmer
Rumo a Oracle Certified Professional, Java EE 5 Web Component Developer
[Email] [MSN]
Lucas Abbatepaolo
JavaEvangelist
[Avatar]

Membro desde: 28/09/2009 16:33:23
Mensagens: 310
Offline

pedroroxd ..vc ja tem algo pronto?? em qual parte esta com duvida?


Programador Arquiteto

Bacharel em Sitemas de Informação
Oracle Certified Professional Java SE 6 Programmer
Rumo a Oracle Certified Professional, Java EE 5 Web Component Developer
[Email] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team