Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Erick Oliveira Silva

Java preciso obter uma matriz a partir de uma imagem

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 ?

 

 

 

Editado por Marcos_Lobo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×