2011-08-10 4 views
8

Cargué una imagen de 8 bits en escala de grises en octava con imread, luego la guardé en formato ascii y obtuve una lista gigante de todos sus valores. Luego lo sacudí con una matriz de 2x2 en Java e imprimí una lista de cada matriz difuminada, todo en una línea.¿Cómo se puede cargar una matriz desde un archivo en octava?

Si la matriz para un píxel en mi programa resulta ser la siguiente:

0 2 
3 1 

A continuación, la salida que mi programa genera el siguiente aspecto:

0 2 3 1 

entonces tengo todas las matrices para cada píxel en ese formato, todo en una línea. ¿Cómo puedo cargar esto en octava para ver la imagen final difuminada?

Estaba jugando con la octava y creé una matriz simple como la primera que mostré y guardé en un archivo, luego pude poner todo en una línea y cargarlo de nuevo muy bien. Traté de reemplazar la matriz en ese archivo con la matriz que generó mi programa, pero parece que la octava no está cargando eso. La matriz a la que intentó cargarla no se cambia en absoluto.

Respuesta

8

No creo haber entendido completamente su pregunta, pero si tiene problemas para interactuar con el sistema de archivos, sugiero usar las funciones dlmread y dlmwrite.

El código de seguimiento debe proporcionar un ejemplo para empezar:

%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") 
Cuestiones relacionadas