[AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

1. [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 19/03/2018 - 20:28h


Pessoal, estou precisando de uma imensa ajuda. Estou fazendo um trabalho e preciso analisar imagens de gráficos em que não possuo os pares ordenados dos pontos que geram uma curva. Sei que é possivel analisar a imagem a partir dos seus pixels em que o conjunto deles será uma matriz e cada posição é um pixel com a cor que está na imagem. Alguém sabe de algum codigo? Sei que é possivel fazer no matlab (PAGO) mas preciso fazer em um software free porque senão, não poderei colocar no trabalho.

Alguém poderia ajudar?


OBS: PODE SER EM OUTRAS LINGUAGENS


  


2. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 19/03/2018 - 21:11h

SamL escreveu:

Como eu não posso fazer seu trabalho, só posso orientar e acompanhar você fazendo o trabalho, se quiser posso sim fazer isso.
Supondo que você saiba programar, sabe muito bem que uma matriz pode ser algo como: int matriz[64][32], e cada celula da matriz ser acessada assim: matriz[y][x], com X sendo as colunas e Y sendo as linhas da matriz.

Por comparação é o mesmo processo numa imagem: cada pixel fica em algo como uma matriz e então você pode acessar cada pixel e mudar ou ler cada valor assim: int pixel = matriz[y][x];

Observe que as linhas da matriz (Y), são as linhas horizontais na imagem real, e as colunas na matriz são as linhas verticais.
Eu acredito que você possa usar BMP por padrão no Java, se sim é bom você procurar: "como carregar uma imagem bmp em java" e "como acessar e modificar os pixels numa imagem em java"
Só com essas funções você já pode fazer tudo que quiser com a imagem.

O primeiro passo é carregar a imagem, pesquise no google como carregar. O segundo é como acessar e modificar os pixels na imagem, pesquise no google, e o terceiro pode ser como salvar a imagem modificada em formato bmp, e a quarta pode ser como mostrar na janela uma imagem bmp, pesquise no google.
__________________________________________
#voltathihup


No caso, eu tenho isso:
BufferedImage img = null;
try {
img = ImageIO.read(new File("c:\\Temp\\teste.bmp"));
for (int x = 0; x < img.getWidth(); x++) {
for (int y = 0; y < img.getHeight(); y++) {
Color cor, novacor;
cor = new Color (img.getRGB(x, y));
int r = cor.getRed();
int g = cor.getGreen();
int b = cor.getBlue();
if (r == 0 && g == 0 && b == 0) {
novacor = new Color(255, 0, 0);
} else {
novacor = new Color(r, g, b);
}
img.setRGB(x, y, novacor.getRGB());
}
}
File outputfile = new File("C:\\Temp\\saida.bmp");
ImageIO.write(img, "bmp", outputfile);
} catch (Exception e) {
System.out.println(e.getMessage());
}


Só que eu não quero alterar a cor do que está em preto. Quero gerar um arquivo com as cores de cada pixel e poder manipular. Enfim, vou tentar achar algo com sua orientação.


3. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 19/03/2018 - 21:41h

O que eu quero exatamente é: Analisar uma imagem (uma curva gerada por pontos (não tenho esses pontos)) e a partir dela, me retornar os valores de cada cor de cada pixel. Eu sou leigo em Java, mas preciso muito de ajuda. Esse código ai foi o que encontrei de semelhante na net, porem nao tem a parte que justamente quero.
Agradeço a ajuda.


4. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 19/03/2018 - 22:03h

SamL escreveu:

Oh sim, ser eligo em java pode ser perigoso aqui, pode ser que leigo seja algo como realmente iniciante. Mas vou tentar explicar pra ti, me responde antes: tu consegue entender essa parte do código:
cor = new Color (img.getRGB(x, y));
int r = cor.getRed();
int g = cor.getGreen();
int b = cor.getBlue();


E me manda uma imagem que você deve usar só pra eu ter ideia melhor de como é, coloca ela em algum site de upload de fotos e manda o link aqui.
__________________________________________
#voltathihup

Entendo que se está representando o vermelho como r, azul como b e verde como g em RGB e que eles estão inseridos organizados em (x,y)
o link:
https://imgur.com/pZYHRrW



5. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 19/03/2018 - 22:42h



Color cor, novacor;
cor = new Color (img.getRGB(x, y));
int r = cor.getRed();
int g = cor.getGreen();
int b = cor.getBlue();
if (r igual 0 && g igual 0 && b igual 0) {
novacor = new Color(255, 255, 255);
} else {
novacor = new Color(r, g, b);
}
if (r igual 255 && g igual 255 && b igual 255) {
novacor = new Color(0,0,0);
} else {
novacor = new Color(r, g, b);
}

img.setRGB(x, y, novacor.getRGB());
}
}
File outputfile = new File("C:\\Temp\\saida.bmp");
ImageIO.write(img, "bmp", outputfile);
} catch (Exception e) {
System.out.println(e.getMessage());
}



Isso?


6. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 19/03/2018 - 23:05h

Pronto. Segue o link:
https://imgur.com/DZbRwHP


7. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 19/03/2018 - 23:15h

SamL escreveu:

erickeos escreveu:

Pronto. Segue o link:
https://imgur.com/DZbRwHP

Isso garoto! Agora bora pegar as linhas de função. O que prefere: (escolha uma)
1-pegar todas as linhas de função, qualquer uma de qualquer cor.
2-pegar somente essas 3 ai?
__________________________________________
#voltathihup


Podemos pegar qualquer uma de qualquer cor (1). Desde já agradeço a ajuda.


8. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 19/03/2018 - 23:51h

Quando voce fala em vector em java, está falando de array? Pergunto porque conheço vector de C++ e não sei como declarar em Java.


9. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 20/03/2018 - 00:13h

Fiz assim:
Vector cores = new Vector();
cores.clear();
int rgb = r;
for (int x = 0; x < img.getWidth(); x++) {
for (int y = 0; y < img.getHeight(); y++) {
Color cor, novacor;
cor = new Color (img.getRGB(x, y));
int r = cor.getRed();
int g = cor.getGreen();
int b = cor.getBlue();
if (r == 0 && g == 0 && b == 0) {
novacor = new Color(255, 0, 0); ///mudei para vermelho so para ilustrar
} else {
//novacor = new Color(r, g, b); //antes não fazia nada
rgb = (rgb << 8) + g;
rgb = (rgb << 8) + b;
if (cores = 0) // entendi que para nao ter valores em cores ele tem que ser zero
{
cores.add(rgb);
}
}



10. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Erick Oliveira Silva
erickeos

(usa Ubuntu)

Enviado em 20/03/2018 - 20:11h

-Trabalho de faculdade, mais especificamente para meu tcc.


11. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Leandro Silva
LSSilva

(usa Outra)

Enviado em 20/03/2018 - 21:34h

Ahhh faz assim não!
Tava ficando interessante já!
kkkkkkkkkkkkk



12. Re: [AJUDA] PRECISO OBTER UMA MATRIZ A PARTIR DE UMA IMAGEM EM QUE CADA ELEMENTO DA MATRIZ É UM PIXEL DA

Eric
Grinder

(usa Slackware)

Enviado em 21/03/2018 - 00:34h

auhehuauheauhea confesso que estava gostando também
- - - - -
www.github.com/ericfernandesferreira
www.youtube.com/candelabrus1



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts