Matlab - puntos extremos en la región

 
Vista:
sin imagen de perfil

puntos extremos en la región

Publicado por yamilet (9 intervenciones) el 16/07/2015 21:20:46
hola!
una pregunta lo que pasa es que necesito detectar las coordenadas del pixel inferior de una imagen binaria obtenida mediante la resta de frames, este es código que llevo, me da perfecto cuando busco el centro,mi pregunta es ¿con la función regionprops se puede obtener el extremo inferior de la imagen y como lo podría implementar para seguir obteniendo las coordenadas?

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
imagenA=rgb2gray(read(d,k1));
aa=imadjust(imagenA);
   for k1=k1:n
       imagenB=rgb2gray(read(d,k1));
       bb=imadjust(imagenB);
       xo=round(pos(1));
       xf=round(pos(1) + pos(3));
       yo=round(pos(2));
       yf=round(pos(2) + pos(4));
            for i=yo:yf
                for j=xo:xf
                c(i,j)=aa(i,j)-bb(i,j);
                end
            end
            bw=c>u1;
            s=regionprops(bw,'extrema');
        if isempty(s)
           msgbox({'No se encontró el objeto'});
        else
            [I,J] = find(bw);
            py = sum(I)/length(I);
            px = sum(J)/length(J);
            j=insertShape(imagenB, 'circle', [px py 25]);
        end
end
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 Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

puntos extremos en la región

Publicado por Daniel (264 intervenciones) el 16/07/2015 22:29:30
no se si entendí correctamente la pregunta, pero si tenes una imagen (imagenB) y un filtro (en tu caso bw, supongo) podes obtener el recuadro que delimita al filtro con 'BoundingBox' que devuelve [x y ancho_x ancho_y]

1
s=regionprops(bw,'BoundingBox');


y luego aplicarlo a la imagen, por ejemplo para marcar con un círculo el extremo inferior izquierdo de la imagen

1
j=insertShape(imagenB, 'circle', [s.BoundingBox(1) s.BoundingBox(2)+s.BoundingBox(4) 25]);

Espero haber entendido bien lo que querias hacer

Después comentanos como te fue

Saludos

Daniel
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
sin imagen de perfil

puntos extremos en la región

Publicado por yamilet (9 intervenciones) el 18/07/2015 04:59:39
Hola Daniel!!

antes que nada gracias por tu responderme, pero creo que no me explique bien lo que quisiera saber es como identifico el pixel del la región inferior como lo muestro en la siguiente imagen

https://www.dropbox.com/s/jgbf7sb8x0qe0mv/Imagen1.jpg?dl=0

¿como puedo encontrar el pixel que esta señalado con la cruz roja?
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