Matlab - Rellenar un matriz de dimensiones con una matriz mayor

 
Vista:

Rellenar un matriz de dimensiones con una matriz mayor

Publicado por Antonio Ros (2 intervenciones) el 03/07/2017 11:52:19
Buenos días estoy creando un programa para realizar el análisis de una imagen, para ello quiero sacar las características de la imagen mediante el método de sliding window
He creado este programa, con una matriz de 10x12 y una ventana canoniga 2x2x(Numero total de ventanas canonigas), que recorra la matriz A, y me meta los datos en las diferentes dimensiones de la ventana canóniga.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
clc
clear all
% creo una matriz
A = rand(10,12)*100;
A=floor(A);
 
[fm,cm]=size(A);%dimensión matriz
 
%tamaño ventana canóniga 
cv=2;%columnas ventana
fv=2;%filas ventana 
p=1;%paso (desplazamiento en cada dirección)
%número de ventanas deslizantes 
%Número ventanas vertical
nv=(floor((fm-fv)/p)+1)
%Número ventanas horizontal
nh=(floor((cm-cv)/p)+1)
%Número total de ventanas 
nt=nh*nv
M1=ones(fv,cv,nt);
%%
 
for k=1:nt  %se van llenado las dimensiones 
 
        for j=1:(fv)
             for i=1:(cv)
                  M1(i,j,k)=A(i,j);
 
             end
        end
end
 
M1

Mi problema es que no consigo recorrer la matriz principal, lo he intentado mediante otros dos bucles for, pero me da error
¿alguna idea de como hacerlo?
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
sin imagen de perfil

Rellenar un matriz de dimensiones con una matriz mayor

Publicado por Héctor (1 intervención) el 03/07/2017 12:57:02
¿Cuál es o en qué consiste el error que se genera?
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

Rellenar un matriz de dimensiones con una matriz mayor

Publicado por Antonio Ros (2 intervenciones) el 03/07/2017 13:27:27
el codigo escrito no tiene ningun error , le faltaria un bucle para que recorra la matriz,
for j=1:(fv)
for i=1:(cv)
M1(i,j,k)=A(i,j);

end
end
end
es en esta funcion donde no consigo que se mueva en la matriz para que se rellenen las diferentes dimensiones de la ventana canoniga
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