Ir ao conteúdo

Posts recomendados

Postado

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?

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.

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, porém nao tem a parte que justamente quero.
Agradeço a ajuda.
OBS: PODE SER EM OUTRAS LINGUAGENS

  • Curtir 1
Postado

Tem uma coisa bem estranha nesse código, esse else parece meio desnecessário e redundante...

 

Bom vamos ver se eu entendi, você que saber o valor de cada ponto na curva certo ? primeiro, você tem certeza da precisão desses gráficos ? Os dados obtidos podem ser diferentes dos que originalmente botados lá, ainda mais dependendo  da qualidade da imagem, ok ?

 

a não ser que isso tenha que ser um processo automatizado, não vejo o porquê disso presisar de programação nenhuma, se você tiver a escala do gráfico apenas abra a imagem no paint que ele mostra a posição do mouse em pixels, daí uma calculadora resolve o seu problema.

 

agora p fazer isso com várias imagens e guardar o valor de cada ponto (pixel) já dá mais trabalho, no código acima ele já percorre a imagem como uma matriz, o que você precisa fazer é percorrer de cima para baixo em cada linha (y) verificar cada ponto (x) até tocar a curva (muito mais fácil se for uma cor específica) daí você pega a posição (x,y), usa a escala e descobre o valor, basicamente isso.

 

Claro que tem os agravantes, você tem que descobrir o ponto (0,0) da imagem o que pode ser meio complicado se as imagens não seguirem o mesmo padrão, se usar mais de uma cor ou se tem mais de uma curva...parando p pensar isso é difícil p caramba, tem certeza que já n tem alguém por aí que já fez isso ?

 

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!