Witam,
szukam optymalnego rozwiązania do dokonania konwersji jak w temacie. Tablica zawiera wartości pikseli w skali szarości.
o - tablica 640x480 (np.)
BufferedImage bim = new BufferedImage o.len,480,o[0].length.TYPE_INT_RGB); //TYPE_BYTE_GRAY źle robi
for(int j=0; j<o[0].length; j++)
for(int i=0; i<o.length; i++)
bim.setRGB(i,j,new Color((o[i][j]& 0xFF),(o[i][j]& 0xFF),(o[i][j]& 0xFF)).getRGB());
ImageIO.write(bim,"jpg",new File("img_01//plik"+new Integer(ii).toString()+".jpg"));
Interesuje mnie:
a) metoda bezpośredniej konwersji byte[][] -> BufferedImage
b) metoda bezpośrednia byte[][] -> zapis do pliku jpg (bądź innego szybszego - nie bmp)
Każda milisekunda jest dla mnie ważna, ponieważ zasoby są na styk i i tak bede musiał robić jeszcze podójny for conajmniej ze 2 razy dla uzyskania różnych parametrów. Komp jest jednordzeniowy wiec dodatkowe wątki mi nie przyspieszą.
Są metody przyspieszające oparte na byte[] ale nie moge specjalnie konwertować bo to znów czas.