2011-08-10 16 views
8

Załadowałem obraz 8-bitowej skali szarości do oktawy za pomocą imread, a następnie zapisałem go w formacie ASCII i otrzymałem ogromną listę wszystkich jego wartości. Potem pomieszałem to z matrycą 2x2 w Javie i wydrukowałem listę wszystkich drytowanych macierzy w jednej linii.Jak wczytać matrycę z pliku w oktawie?

Jeżeli matryca do piksela w moim programie okaże się następująco:

0 2 
3 1 

Następnie wyjście że mój program generuje wygląda następująco:

0 2 3 1 

Wtedy muszę wszystkich matrycach dla każdego piksela w tym formacie wszystko w jednym wierszu. Jak mogę załadować to do oktawy, aby zobaczyć ostateczny dithered obraz?

Omijałem oktawę i stworzyłem prostą matrycę, taką jak pierwsza, którą pokazałem i zapisałem do pliku, a potem udało mi się umieścić wszystko na jednej linii i ponownie ładować. Próbowałem wtedy zamienić macierz w tym pliku na macierz, którą mój program wygenerował, ale oktawa nie wydaje się ładować tego. Macierz, na której próbowano ją załadować, wcale się nie zmienia.

Odpowiedz

8

Nie sądzę, że w pełni zrozumiałem twoje pytanie, ale jeśli masz problemy z interakcją z systemem plików, sugeruję użycie funkcji dlmread i dlmwrite.

Kod obserwacji powinny stanowić przykład, aby zacząć:

%Random 4 by 4 matrix 
M = rand(4,4) 

%Write matrix to file system 
dlmwrite("filename.txt",M); 

%Read it back and store in an other variable 
M2 = dlmread("filename.txt") 
Powiązane problemy