problem z plikiem img

0

witam mam pytanie
mam do wczytania plik o rozszerzeniu img i nie wiem za diabla jak sie za to zabrac
w pliku jest zdjecie i macierz temperatur...
jak wyciagnac z pliku te informacje ??


uadło mi sie zrobic teraz tyle ze za pomoca RandomAccessFile dostaje szereg cyferek...
jakies pomysly ??

0
wcielone.zlo napisał(a)

w pliku jest zdjecie i macierz temperatur...

Najpierw podaj jaka jest konstrukcja pliku dokładnie bo bez tego to trudno coś powiedzieć. Przykładowo napierw jest obraz nieskompresowany binarnie, przed nim jeszcze wymiary obrazu (chyba że są znane) i potem charowo albo binarnie dane (wymiary też warto by znać). Jak sie zna strukture to spokojnie sie wszystko da wczytać :-)

0

no własnie staram sie odszukac takie informacje ale standardowo jest ciezko... bo format jest jakis zryty... od razu moge powiedziec ze zdjecia sa w rozdzielczosci 320x240... i z tego co sie wyswietla to wyglada jakby najpierw w pliku byla informacja o temp.... ale takie gdybanie w sumie nic nie znaczy...


pewien nie jestem ale chyba to jest to ...
http://pds-geosciences.wustl.edu/geo/clem1-l-lwir-3-rdr-v1/cl_7xxx/document/volsis.txt

0

no to jest jeszcze jedna opcja... plik o rozszerzeniu mat identyczna zawartosc tez smieci jak pobieram info przy pomocy randomaccessfile... ale udalo mi sie znaleŹĆ strukture pliku... (tak mysle ze to to)
http://www.sendspace.pl/file/s6eTUmDE/

ale nie wiem co dalej bede wdzieczny za kazda podpowiedz

0

udalo mi sie wyswietlic obrazek ale nie do konca brakuje mi koloru (przynajmniej tak to wyglada)
tu jest obrazek tak jak powiennien wygladac
http://img297.imageshack.us/my.php?image=56033226vi0.jpg
a tu moje dzielo
http://img176.imageshack.us/my.php?image=27989200az5.jpg

a tu caly kod:

import java.applet.;
import java.awt.
;
import java.awt.image.;
import java.awt.image.MemoryImageSource.
;
import java.io.;
import java.io.BufferedReader.
;
import java.io.File.;
import java.nio.
;
import java.nio.channels.*;

public class Kolejna extends Applet{
Image img;
public void init() {
FileInputStream fis;
FileChannel fc;
long bSize;
ByteBuffer bBuf;
int w = 320;
int h = 240;

    int j=0;
    
    try {
        fis = new FileInputStream("c:/D0603-01.IMG");
        fc = fis.getChannel();
        bSize = fc.size();
        bBuf = ByteBuffer.allocate((int)bSize);
         int tab[] = new int[(int)bSize];
        fc.read(bBuf);
        bBuf.rewind();
        int licznik=1;
        int ku=0;
        for(int i=2403; i<bSize; i+=2) {
           // System.out.println(bBuf.get());
            if(licznik!=321){ 
            int yq = i;
          
            tab[ku++]=(bBuf.get(++yq)<<24)|(bBuf.get(i)<<8);
            licznik++;
            }
            else{
                i+=12;licznik=1;
            }
        }
        
        fc.close();
        fis.close();
        
        img = createImage(new MemoryImageSource(w, h, tab, 0, w));
    }catch(Exception e) {};
}

public void paint(Graphics g) {
g.drawImage(img, 0, 0, this);
}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1