Matlab - Problema de datos en Tabla en GUI

 
Vista:
sin imagen de perfil

Problema de datos en Tabla en GUI

Publicado por Maria (6 intervenciones) el 13/03/2015 11:02:52
He hecho una interfaz de usuario que estudia elementos en una imagen, obteniendo área, valores máximos y mínimos de los píxeles y posición de estos objetos. Dentro de mi GUI he querido mostrar las imágenes estudiadas (con un plot que me rodea objetos y señala el centroide) y al lado una tabla que me muestre las características estudiadas de esos objetos (1 imagen, y al lado su tabla, puedo cambiar a la imagen siguiente con un botón y q los datos de la tabla cambien, etc...).
Como según el número de objetos la tabla tendra un número de filas u otro no he podido fijar el número de filas de esta pero es un problema que he solucionado configurandola desde el código, lo que no consigo solucionar es: la posición consta de 2 datos, [fila columna], y así se representa, pues no me lo permite, me da error por ser de distinto tipo al resto. He probado mil cosas, pero no consigo poder especificar ese tipo de dato para esa columna, el tamaño del tipo de dato más bien. Adjunto trozo de código e imágenes con el error que me da.
Estaría muy agradecida si alguien me diese una idea, muchísimas gracias de antemano.

----------------------------------------------------------------------------------------------------------------------------------------------------
%en el archivo .mat 'todalainformacion', tengo un struct 'todaslasimagenes' con la información de los objetos de cada imagen (en este %trozo de código de prueba solo accedo a la primera imagen
load todalainformacion
todaslasimagenes;
info=todaslasimagenes(1).imagen


%obtengo el número de filas de la tabla (según número de objetos de la imagen), para configurar la tabla según este
filas=length(info);
columnas=5;
nombrescolumnas={'Area','Max','Min','Media','Cent'};

%según las instrucciones de MATLAB necesito pasarlo a 'cell' para ingresar los datos en la tabla
datos=struct2cell(info)
w=cell(filas,5);


%se ve 'datos' como columnas y yo lo quiero en filas
for i=1:filas
columnadatos=datos(:,i);
filadatos=columnadatos';
w(i,:)=filadatos;
end


%para posicionarlo dentro de la interfaz donde quiero
pos1=get(handles.uipanel1,'Position');

t=uitable('ColumnName',nombrescolumnas,'Data',w,'Units','characters','Position',pos1);

--------------------------------------------------------------------------------------------------------------------------------------------------

En las dos imágenes adjuntas muestra en la primera la estructura de 'todaslasimagenes' y de 'datos' al pasarlo a cell, y en la segunda el fallo que me da, el no poder insertar la posición por ser de tamaño [1 2]. Gracias de nuevo.

1
2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema de datos en Tabla en GUI

Publicado por JESUS (1818 intervenciones) el 14/03/2015 00:19:35
Hola María efectivamente no puedes meter datos en una tabla cuando por lo menos una de las cells no es 1x1 en este caso como estás trabajando con double puedes hacer w=cell2mat(w) para eliminar ese problema que no puedo ver de dónde surge, y luego sí seleccionarlo en la tabla uitable('Data',w,......) , y otra cosa si se ve datos como columnas y tú lo quieres en fila o viceversa solo debes colocar una ' después de la variable , si se llama A, entonces escribes A' y listo
éxitos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Problema de datos en Tabla en GUI

Publicado por Maria (6 intervenciones) el 16/03/2015 19:49:24
Me ocurre "lo mismo" cuando uso cell2mat, no me permite la conversión por el tipo de datos... No se me ocurren más formas de insertar mis datos en la tabla :(. Muchas gracias de todos modos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar