consulta sobre bucle for
Publicado por Fernando (1 intervención) el 26/01/2013 19:42:52
hola, quería hacer una consulta
resulta que tengo un conjunto de imágenes y un conjunto de coordenadas que me indican donde hay un objeto de interés, el cual quiero recortar, dentro de una imagen. por tanto lo que quiero realizar es cortar todas estas imágenes, con las coordenadas correspondiente a cada imagen, utilizando un bucle for.
para esto estoy desarrollando el siguiente programa, el cual tiene como objetivo cargar 5 imágenes y cortarlas con sus respectivas coordenadas
clear all; close all; clc;
% imagen de test
b=load('coordenadas.txt'); %carga coordenadas
%[150,166,386,140]; % coordenada para cortar imagen 1
%[71,123,559,215]; % coordenada para cortar imagen 2
%[85,149,578,204]; % coordenada para cortar imagen 3
%[106,167,462,166]; % coordenada para cortar imagen 4
%[199,205,305,120]; % coordenada para cortar imagen 5
for i=1:5 %bucle carga imágenes que se quiere cortar
text='IM';
textMedio=num2str(i);
textFinal='.bmp';
nombre_imagen=(strcat(text,textMedio,textFinal));
test = imread(nombre_imagen);
%figure,imshow(test); %mostrar imágenes a cortar
imagen_cortada=imcrop(test,[b(1,:)]); % corta la imagen previamente cargada en la variable
% "test" , con la coordenada b(1,:) .
%% acá es donde tengo el problema ya que no puedo hacer correr las coordenadas, para que la imagen 1 sea cortada con la coordenada 1 , la imagen 2 con la coordenada 2, la 3 con la 3 y así sucesivamente.... así como está el programa, me corren las 5 imágenes que utilicé pero obviamente no me corren las coordenadas, trate de varias forma pero no lo logro.
x1=num2str(i);
n=['C:\Users\estefany\Documents\MATLAB\cortada' x1 '.bmp'];
imwrite(imagen_cortada,n); %guarda imagen cortada
end
bueno eso sería, espero me puedan ayudar
muchas gracias!
saludos!!
resulta que tengo un conjunto de imágenes y un conjunto de coordenadas que me indican donde hay un objeto de interés, el cual quiero recortar, dentro de una imagen. por tanto lo que quiero realizar es cortar todas estas imágenes, con las coordenadas correspondiente a cada imagen, utilizando un bucle for.
para esto estoy desarrollando el siguiente programa, el cual tiene como objetivo cargar 5 imágenes y cortarlas con sus respectivas coordenadas
clear all; close all; clc;
% imagen de test
b=load('coordenadas.txt'); %carga coordenadas
%[150,166,386,140]; % coordenada para cortar imagen 1
%[71,123,559,215]; % coordenada para cortar imagen 2
%[85,149,578,204]; % coordenada para cortar imagen 3
%[106,167,462,166]; % coordenada para cortar imagen 4
%[199,205,305,120]; % coordenada para cortar imagen 5
for i=1:5 %bucle carga imágenes que se quiere cortar
text='IM';
textMedio=num2str(i);
textFinal='.bmp';
nombre_imagen=(strcat(text,textMedio,textFinal));
test = imread(nombre_imagen);
%figure,imshow(test); %mostrar imágenes a cortar
imagen_cortada=imcrop(test,[b(1,:)]); % corta la imagen previamente cargada en la variable
% "test" , con la coordenada b(1,:) .
%% acá es donde tengo el problema ya que no puedo hacer correr las coordenadas, para que la imagen 1 sea cortada con la coordenada 1 , la imagen 2 con la coordenada 2, la 3 con la 3 y así sucesivamente.... así como está el programa, me corren las 5 imágenes que utilicé pero obviamente no me corren las coordenadas, trate de varias forma pero no lo logro.
x1=num2str(i);
n=['C:\Users\estefany\Documents\MATLAB\cortada' x1 '.bmp'];
imwrite(imagen_cortada,n); %guarda imagen cortada
end
bueno eso sería, espero me puedan ayudar
muchas gracias!
saludos!!
Valora esta pregunta
0