Processamento de Imagem em Java

Posted on jun 05, 2008 under Processamento de Imagem, Sem categoria | 9 Comentários

Uma das minhas áreas de pesquisas é a área de processamento de imagens.

Desenvolvi na minha monografia em método para calcular a rugosidade de pavimentos asfálticos utilizando a linguagem java e o programa imageJ.

Neste post mostrarei como usar o imageJ, um programa muito bom de utilizar. Possui alguma documentação explicando como desenvolver plugins e macros para expandir suas funcionalidades.
Este plugin transforma uma imagem preto e branca em imagem negativa, facilitando sua interpretação.
Com exemplo será utilizada uma imagem de mamografia.

import ij.IJ;
import ij.ImagePlus;
import ij.gui.NewImage;
import ij.plugin.filter.PlugInFilter;
import ij.process.Blitter;
import ij.process.ImageProcessor;

public class ImageNegativa_ implements PlugInFilter{

	@Override
	public int setup(String arg0, ImagePlus arg1) {
		IJ.showMessage("Marlon Luis Petry",
				"Converte imagem"
			);
		return DOES_8G;
	}

	@Override
	public void run(ImageProcessor ip) {

		int w = ip.getWidth();
		int h = ip.getHeight();

		ImagePlus ipNbit = NewImage.createRGBImage("Negative", w, h, 1, NewImage.FILL_BLACK);

		ImageProcessor inv_ip = ipNbit.getProcessor();
		inv_ip.copyBits(ip,0,0,Blitter.COPY);
		inv_ip.gamma(0.7);
		inv_ip.invert();

		ipNbit.show();
	}
}

Exemplo de utilização

As imagens mostradas aqui, são do livro do Digital Image Processing 2nd Edition (DIP/2e), e podem ser encontradas neste site http://www.imageprocessingplace.com/

Imagem Original

Mamografia

Imagem Negativa

Mamografia Negativa

Esta técnica de processamento de realça as partes escuras da imagem, sendo mais fácil a análise por um especialista na área médica.

9 Responses to “Processamento de Imagem em Java”

  1. Processamento de Imagem em Java – petryx.blogrs.com.br…

    Conheça a API IMagej. Hoje mostro um pequeno plugin que transforma uma imagem preto e branco em negativa. Vale pena confira….

  2. domelhor.net disse:

    Processamento de imagem em Java – petryx.blogrs.com.br…

  3. Jonathan Alves disse:

    Olá, sou iniciante em java, e estou precisando fazer um programa em java que identifique, por exemplo: um triangulo dentro de uma imagem parada(foto) ou movendo(video).

    Poderia me indicar alguma biblioteca, livro ou algum site sobre o assunto para que eu possa dar o ponta-pé incial para desenvolver isso.

    Obrigado

  4. admin disse:

    Olá Jonathan:

    Para desenvolver o programa que tu queres é necessário aprender sobre processamento de imagem. Um livro muito bom é o Digital Image Processing Using MATLAB escrito por Gonzales e Woods, esse livro explica a teoria e mostra exemplos em Matlab. Depois que tu entender bem sobre processamento de imagem pode usar o programa imagej. Que é escrito em java e fornece todo subsídio para processamento de imagem.

    Boa Sorte.

  5. Maiquel disse:

    Olá. estou desenvolvendo um projeto que utiliza processamento de imagem em java. Seria uma imagem binária com um rio principal e seus afluentes. Cada divisão do rio seria uma afluencia. Tenho que identificar onde existem essas afluencias e calcular a distancia entre elas, e seus respectivos angulos. Já li bastante material sobre imagens. Comecei meu código utilizando a API JAI, mas estou com dificuldades na lógica do calculo da distância. Estou tentando fazer o cálculo pela distâncias apartir de cordas.
    http://pt.wikipedia.org/wiki/Comprimento_do_arco

    aqui tem um link de um fórum que estão me ajudando.
    http://www.guj.com.br/posts/list/142113.java#767412

    Será que existe um método mais adequado para isso?
    Desde já agradeço sua ajuda e compreensão.
    Obrigado!

  6. admin disse:

    Maiquel

    Acredito que existem dois livros que pode te ajudar:

    The image processing handbook, Russ John
    Digital image processing, Gonzales e Woods esse também tem uma edição para matlab.

  7. santos disse:

    olá,

    recomendaria um bom curso sobre processamento de imagem?
    pode ser inclusive pós-graduação.

    obrigado

  8. Marcos Paulo disse:

    Então, estou trabalhando num projeto de detecção de movimento em java. Preciso desenvolver um software que identifique padroes de movimento de uma chave, que abre e fecha, preciso identificar o movimento e verificar automáticamente se ela realmente fechou ou não. Gostaria de saber se você pode me dar alguma idéia de como comparar o padrão de movimento da chave.

  9. Sergio disse:

    Ola,

    Seguinte eu li seu TCC, e também fui aluno do luciano, hoje faço mestrado na usp na área de pavimentação. eu estava usando o IMAGEJ e procurando material sobre ele, encontrei sua monografia.
    VI que usou(criou) um plugin, “analysis asphalt”, seria possível disponibiliza-lo?

    sérgio

Leave a Reply