Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Matlab - Segmentar una imágen

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Segmentar una imágen

Autor:Oscar mauro840321@hotmail.com (3 intervenciones)
Fecha:22/02/2012 16:44:33
Hola.
Por favor si me pueden colaborar en el siguiente ejercicio:

Necesito tomar una imágen y hacer que tome el borde de la misma y la redibuje. Me explico:

Tengo una imágen binaria (unos y ceros) que importo imread('C:\...\imagen.jpg'); es decir una mancha negra sobre un fondo blanco y necesito que recorra la matriz y cada vez que encuentre un pixel negro (el primero de cada borde) lo almacene en una nueva matriz para luego mostrar únicamente el contorno de la imágen inicial.

Lo que creo que se debe hacer es realizar 4 bucles para recorrer la imágen en los cuatro sentidos (izquierda a derecha, derecha a izquierda, arriba hacia abajo y de abajo hacia arriba) y cuando localice el primer pixel negro lo vaya almacenando en una nueva matriz para luego ser mostrada.
Responder
información
Otras secciones de LWP con contenido similar...
Imágen de perfil de Dave
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Segmentar una imágen

Autor:Dave correa.dave30@gmail.com (807 intervenciones)
Fecha:23/02/2012 22:16:06
Hola Oscar;

De tu consulta noto que tienes claro la funcionalidad de tu programa, creo que lo unico que te falta es programarlo?. Por lo tanto solo te quedaría iniciar a programar, aca en el foro mayormente se apoya en la solución de problemas especificos.

Quizas una alternativa pueda ser que uitlices las funciones de segmentación de imagenes propias de Matlab, te dejo un ejemplo:

% SEGMENTACIÓN
% Si la imagen es RGB, la pasa a escala de grises

if size(imagen,3)==3 %3 planos: RGB
gris=rgb2gray(imagen);
else
gris=imagen;
end

% Binarización con umbral automático *0.60
bina=im2bw(gris,graythresh(gris)*0.60);

% Procesamiento morfológico
bina=bwmorph(bina,'open'); % Eliminar picos
bina=bwmorph(bina,'close'); % Eliminar huecos

% Etiquetar los objetos de la imagen
L=bwlabel(bina);

% Calcular "área" y "caja" de objetos
prop=regionprops(L,{'Area','BoundingBox'});

% Tomar el área máxima
[m pam]=max([prop.Area]);

% "roi" contiene solo la imagen más grande
roi=ismember(L,pam);
ee=strel('disk',18,0);
roi=imdilate(roi, ee);

% Obtener los límites del área máxima
limites=prop(pam).BoundingBox;

% Presentar el área de interés (roi)
imagesc(roi)
colormap gray

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Comentar
Imágen de perfil de Dave
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Segmentar una imágen

Autor:Dave correa.dave30@gmail.com (807 intervenciones)
Fecha:23/02/2012 22:17:20
Hola Oscar;

De tu consulta noto que tienes claro la funcionalidad de tu programa, creo que lo unico que te falta es programarlo?. Por lo tanto solo te quedaría iniciar a programar, aca en el foro mayormente se apoya en la solución de problemas especificos.

Quizas una alternativa pueda ser que uitlices las funciones de segmentación de imagenes propias de Matlab, te dejo un ejemplo:

% SEGMENTACIÓN % Si la imagen es RGB, la pasa a escala de grises if size(imagen,3)==3 %3 planos: RGB gris=rgb2gray(imagen); else gris=imagen; end % Binarización con umbral automático *0.60 bina=im2bw(gris,graythresh(gris)*0.60); % Procesamiento morfológico bina=bwmorph(bina,'open'); % Eliminar picos bina=bwmorph(bina,'close'); % Eliminar huecos % Etiquetar los objetos de la imagen L=bwlabel(bina); % Calcular "área" y "caja" de objetos prop=regionprops(L,{'Area','BoundingBox'}); % Tomar el área máxima [m pam]=max([prop.Area]); % "roi" contiene solo la imagen más grande roi=ismember(L,pam); ee=strel('disk',18,0); roi=imdilate(roi, ee); % Obtener los límites del área máxima limites=prop(pam).BoundingBox; % Presentar el área de interés (roi) imagesc(roi) colormap gray
Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Segmentar una imágen

Autor:Oscar (3 intervenciones)
Fecha:23/02/2012 22:37:29
Hola Dave.

Muchas gracias por responder a mi pregunta.

Voy a probar el código, aunque me hubiese gustado poder manejarlo desde algo más básico, pues la idea es entender cómo Matlab trabaja este tipo de funciones ya implementadas; claramente usando algo de programación estructurada (ciclos for, while, condiciones if, etc).
Comentar
Imágen de perfil de Dave
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Segmentar una imágen

Autor:Dave correa.dave30@gmail.com (807 intervenciones)
Fecha:23/02/2012 22:43:41
Hola Oscar;

De hecho que lo mejor es desarrollar sus propios códigos y entender todo lo que se hacer, pero para eso es necesario saber programar o contratar los servicios de un programador. Pero de todas maneras, serpia bueno que lo intentes.

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Comentar
Imágen de perfil de Dave
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Segmentar una imágen

Autor:Dave correa.dave30@gmail.com (807 intervenciones)
Fecha:01/03/2012 02:30:35
Hola Oscar;

Como te fue con el desarrollo de tu código.

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Segmentar una imágen

Autor:Jorge (1 intervención)
Fecha:29/05/2014 01:32:18
Mira que eres un capo man....gracias, me has ayudado mucho en mi proyecto.
Comentar