J'essaye de prendre un BufferedImage, d'appliquer une transformée de Fourier (en utilisant jtransforms) et d'écrire les données dans le BufferedImage. Mais je suis coincé en train de créer un nouveau raster pour rétablir les résultats, ai-je oublié quelque chose ici?Comment créer un raster à partir d'un tableau flottant de pixels en Java?
BufferedImage bitmap;
float [] bitfloat = null;
bitmap = ImageIO.read(new File("filename"));
FloatDCT_2D dct = new FloatDCT_2D(bitmap.getWidth(),bitmap.getHeight());
bitfloat = bitmap.getData().getPixels(0, 0, bitmap.getWidth(), bitmap.getHeight(), bitfloat);
dct.forward(bitfloat, false);
Mais je suis perplexe en essayant de terminer cette ligne, que dois-je donner à la fonction createRaster? Les javadocs pour createRaster me faire peu de sens:
bitmap.setData(Raster.createRaster(`arg1`, `arg2`, `arg3`));
Je commence à me demander si un réseau de flotteurs est même nécessaire, mais il n'y a pas beaucoup d'exemples de jtransforms là-bas.
Fantastique, je savais qu'il me manquait quelque chose d'évident. Rappelez-moi de vous accorder la prime si j'oublie (je dois attendre 24h) –