Matlab - Concatenar varías imágenes

 
Vista:

Concatenar varías imágenes

Publicado por Mario (1 intervención) el 11/07/2017 18:12:30
Necesito concatenar alrededor de 5000 imágenes pero al crear el bucle para subir todas las imágenes no me concatenea bien. Estoy utilizando el siguiente código. Les agradecería cualquier colaboración.

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
34
35
36
37
38
Entrada2='Entrada2'
lee_archivos = dir('C:\directorio\*.jpg'); %el formato de imagen puede ser modificado.
for k = 1:length(lee_archivos) %recorre número de archivos guardados en el directorio
archivo = lee_archivos(k).name; %Obtiene el nombre de los archivos
nombre='C:\directorio\'; %Recore el diretorio
I = imread(vertcat(nombre,archivo));% lee la primera imagen
% I0= imresize(I,[20,20]);
% Puede seguir con mas operaciones
I1=rgb2gray(I);
I2=im2bw(I1);
I3=imresize(I2,[20,20]);
 
i1i=I3(:,1);
i2i=I3(:,2);
i3i=I3(:,3);
i4i=I3(:,4);
i5i=I3(:,5);
i6i=I3(:,6);
i7i=I3(:,7);
i8i=I3(:,8);
i9i=I3(:,9);
i10i=I3(:,10);
i11i=I3(:,11);
i12i=I3(:,12);
i13i=I3(:,13);
i14i=I3(:,14);
i15i=I3(:,15);
i16i=I3(:,16);
i17i=I3(:,17);
i18i=I3(:,18);
i19i=I3(:,19);
i20i=I3(:,20);
 
INT_I=[i1i;i2i;i3i;i4i;i5i;i6i;i7i;i8i;i9i;i10i;i11i;i12i;i13i;i14i;i15i;i16i;i17i;i18i;i19i;i20i];
P=(INT_I)';

end
save('Entradas2.mat','Entrada2','P');
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 DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Concatenar varías imágenes

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 11/07/2017 18:33:13
Realicé un pequeño arreglo de tu código y en P ahora sí se concatenan los 20 pixeles con los siguientes 20 pixeles y así :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Entrada2='Entrada2';
lee_archivos = dir('C:\directorio\*.jpg'); %el formato de imagen puede ser modificado.
nombre='C:\directorio\';
P=[];
for k = 1:length(lee_archivos) %recorre número de archivos guardados en el directorio
archivo = lee_archivos(k).name; %Obtiene el nombre de los archivos
 %Recore el diretorio
I = imread(fullfile(nombre,archivo));% lee la primera imagen
% I0= imresize(I,[20,20]);
% Puede seguir con mas operaciones
I1=rgb2gray(I);
I2=im2bw(I1);
I3=imresize(I2,[20,20]);
INT_I=I3(:);
P=horzcat(P,(INT_I)');
end
save('Entradas2.mat','Entrada2','P');

saludos
https://www.facebook.com/royethmatlab/
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