Gravando imagens complexas

Gravando imagens complexas

por Igor Ribeiro Sucupira -
Número de respostas: 1

É possível gravar (utilizando o JAI) uma imagem complexa em arquivo?
Em resposta à Igor Ribeiro Sucupira

Re: Gravando imagens complexas

por Carlos Eduardo Fernandes Zanella -

Se você for gravar em .formato jpeg, a imagem obrigatoriamente tem que ter 1 banda (imagem "preto-e-branco") ou 3 bandas (RGB - vermelho, verde e azul). Como, no JAI, imagens complexas têm um número par de bandas (as bandas pares são as partes reais, e as ímpares são as partes complexas), não dá pra gravar direto.

No meu EP, quando o usuário quer gravar uma imagem complexa em arquivo, o programa grava o espectro de Fourier da imagem, que pode ser obtido com a operação "Magnitude" do JAI.create().

Lembre-se também que, pra gravar em jpeg, é preciso que a imagem esteja no formato BYTE (ou seja, cada nível de cinza de cada pixel está armazenado em uma variável do tipo BYTE). As operações de transformada de Fourier e transformada inversa convertem a imagem automaticamente para FLOAT. Assim, é preciso passar pra BYTE antes de gravar, o que pode ser feito com a operação "Format" do JAI.create().

Informações sobre todas as operações suportadas pelo JAI.create() podem ser encontradas em http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/OperationDescriptorImpl.html.

Boa sorte!