Enquanto o blog estava em férias, eu estava trabalhando em um projeto da minha empresa. Neste projeto optamos por usar a JAI num aplicativo de análise de imagens. Eu já conhecia, mas nunca tinha programado com esta biblioteca, aí tive que aprender por onde começar. É isto que vou contar aqui.
A JAI
Java Advanced Imaging é o nome da biblioteca da sun para processamento de imagens. O tutorial mais completo que connheço é este (mas repare que é de 1999…). Também não existe um livro para quem precisa entender ele a fundo, então as minhas principais ferramentas de estudo foram:
É, algumas vezes só olhando o código, mesmo…
Também tive a ajuda de colegas que aprenderam antes de mim, e de um tutorial em português organizado por eles, que estamos organizando para distribuir.
OK, now codding:
Depois de baixar a biblioteca, configurar o IDE, e iniciar um projeto, vem aquela sensação de “papel em branco”. O que resolve isso é uma classe main que abre a imagem e mostra a imagem (ou salva). Depois disso pronto é só achar o método que você precisa usar e colocar no meio…
Código para abrir a imagem (comece com este):
PlanarImage imagem = JAI.create("fileload", "caminho e nome do arquivo");
Para mostrar a imagem:
DisplayJAI display = new DisplayJAI(imagem); //altere o nome da variável se o resultado da sua operação tiver outro nome
//cria o frame do swing onde a imagem será exibida
JFrame frame = new JFrame("Imagem X");
//cria o scroll para efetuar as rolagens caso a imagem seja muito grande
JScrollPane scroll = new JScrollPane();
//adiciona o display dentro do scroll
scroll.setViewportView(display);
//adiciona o scroll dentro do frama
frame.add(scroll);
//define a operação padrão para o botão fechar do frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400); //define o tamanho do frame
frame.setVisible(true); //manda o frame ser exibido
Entre estes dois trechos de código, coloque a operação JAI de sua preferência… isso funcionou como ponto de partida para mim.
Livros! (Update, dia 11/03/2010)
Foi só falar que não tinha, que pipocaram links de livros de vários lugares. Como alguns foram por email, outros por comentários, vou listar eles aqui:
- Building Imaging Applications Java Technology
- Java Media APIs: Cross Platform Visualization
- Digital Image Processing: Practical Introduction
- Digital Image Processing: Algorithmic Introduction
Muito Obrigada pelas contribuições!
Estou estudando a JAI agora, por isso espero ter mais posts sobre ela em breve. Interessou? Assine o RSS.


Olá,
Há o Livro do Lawrence Rodrigues (2001) no link http://www.amazon.com/Building-Imaging-Applications-Java-Technology/dp/0201700743, e o “cook e-book” do Rafael Santos (2010) no link http://www.lac.inpe.br/JIPCookbook/index.jsp.
Abraços,
marcos
Obrigada, Marcos!
O cookbook do Rafael Santos parece interessante.
Agora, $714,99 por um livro usado!!! Deve ser um ótimo livro, mas não vou poder ter esse…
Oi, Gabriela:
Voce falou na JAI e estou interessado em comecar a utiliza-la. Entretanto, algum tempo atras eu tentei instala-la e nao consegui (acho que foi pura burrice minha
.
Daih, caso seja possivel, gostaria que voce fizesse um tutorial sobre como instalar a danada (seguindo os moldes do que voce jah faz com o ImageJ, do qual sou usuario e me beneficio dos seus tutoriais).
Atenciosamente,
JanKees van der Poel
Electrical Engineer
Biomedical Engineer, M.Sc.
Mechanical Engineer, D.Sc. Student
Digital Image Processing Group, DEM/DI, UFPB
Curriculum Vitae Lattes: http://lattes.cnpq.br/7708733390981089
Olá JanKees,
Não é burrice sua! eu também passo trabalho todas as vezes… o problema é que não é sempre igual.
Mas obrigada pela sugestão – vou ver se reúno as informações necessárias e consigo um tutorial básico.
Até mais!
Muito legal teu blog!
Outra referência importante é o Jai Tutor …que é um livrinho eletrônico com teoria e codes.
Um aspecto relevante da pergunta é que todas (a maioria) as bibliotecas java são instaladas da mesma forma: colocar os arquivos .jar da biblioteca dentro da pasta da jre. Em geral, essa pasta fica localiza em, no windows, claro, se você quer apenas “rodar os programas”. Para o caso de desenvolvimento, a pasta jre fica dentro da pasta do jdk. Notem que a pasta é onde estão as bibliotecas e a remete para EXTernal libraries.
At+
Ops, coloquei umas tags no post e saiu errado
agora esta certo
Outra referência importante é o Jai Tutor https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=7362-JAI-1.1-tut-oth-JPR@CDS-CDS_Developer…que é um livrinho eletrônico com teoria e codes.
Um aspecto relevante da pergunta JanKees é que todas (a maioria) as bibliotecas java são instaladas da mesma forma: colocar os arquivos .jar da biblioteca dentro da pasta ext da jre. Em geral, essa pasta fica localiza em, C:\Arquivos de Programas\Java\jre6\lib\ext no windows, claro, se você quer apenas “rodar os programas”. Para o caso de desenvolvimento, a pasta jre fica dentro da pasta do jdk. Notem que a pasta lib é onde estão as bibliotecas e a ext remete para EXTernal libraries.
At+
Oi, Diego!
Que bom te ver por aqui.
Eu tinha mesmo me esquecido deste tutorial (vou colocar o link de novo aqui, que ficou quebrado: Advanced Imaging API Tutorial ).
Valeu pelas dicas!