Matlab - Conteo de objetos y ubicación

 
Vista:
sin imagen de perfil

Conteo de objetos y ubicación

Publicado por Alberto (24 intervenciones) el 20/12/2013 20:05:13
Hola buenas, os planteo un problema que estoy teniendo con la creación de un programa dedicado a contar objetos mediante una máscara previa dentro de una imágen. La idea es basándose en la máscara buscar las coincidencias dentro de la imágen y encontrar donde está ese objeto (posición x y).


La máscara sería una nota músical, y la imágen sería una sucesión de notas musicales donde debo encontrar el número de notas iguales a mi máscara y la ubicación.

He intendo la técnica del Matching template mediante el siguiente código:

%% CARGAMOS LA IMÁGEN A TRATAR

B=imread('Area_notas.jpg');

% DETECCIÓN Y RECUENTO DE NOTAS

% NOTAS NEGRAS SIMPLES

J=imread('mascara.jpg'); %máscara de nota negra

c = normxcorr2(J(:,:,1),B(:,:,1));
[max_c, imax] = max(abs(c(:)))
[ypeak, xpeak] = ind2sub(size(c),imax(1));
corr_offset = [(xpeak-size(J,2)) (ypeak-size(J,1))]

figure, imshow(B); hold on;
rectangle('position',[corr_offset(1) corr_offset(2) 44 72],...
'edgecolor','g','linewidth',2);

end

Con este código consigo detectar una nota negra y recuadrarla con un rectángulo verde. Lo que no consigo hacer es continuar buscando más ya que al parecer la técnica busca dentro de la imágen la más parecida. Mi intenció es buscar todas las demás notas... espero haberme explicado.

¿Alguien podría echarme una mano por favor?. Os lo agradezco de antemano.

Gracias
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

Conteo de objetos y ubicación

Publicado por Alberto (24 intervenciones) el 02/01/2014 18:29:55
alguien me puede echar una mano?
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

Conteo de objetos y ubicación

Publicado por Alberto (24 intervenciones) el 03/01/2014 18:53:13
Muy buenas Jose,
Gracias por el comentario. Hasta ahora he conseguido aislar la zona de notas musicales, y creo que la búsqueda sería más correcta y precisa si elimino las líneas del pentagrama y dejo solo las notas musicales. ¿Se le ocurre alguna idea para eliminiar solo las líneas?.

A través de la transformada de Hough, he detectado las líneas, el problema es que no se como eliminarlas.

Gracias
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

Conteo de objetos y ubicación

Publicado por Alberto (24 intervenciones) el 05/01/2014 18:57:47
Me autocomento¡¡.

He conseguido eliminar las líneas del pentagrama. Ahora tengo dos imágenes, una nota musical, que es mi imágen procesada, y una plantilla guardada en memoria. De forma que comparando la plantilla con la imágen que tengo procesada tengo que decir que tipo de nota es. Por ejemplo, las matrices de la imágen procesada son matrices de 72x44, Las plantillas almacenadas en memoria son del mismo tamaño, 72x44.ya que de toda la imágen me quedo solo con dónde está la nota.
Tengo una plantilla para cada nota: Blanca, negra, corchea, fusa, semifusa, semicorchea, corchea. Y tendría que mediante la comparación averiguar cual es la nota que tengo actualmente... No se si me he explicado bien. Estoy intentandolo con correlación normxcorr2(A,B), pero siempre detecta la nota, sin tener en cuenta si es blanca o negra (la diferencia sería el círculo relleno o no de la "cabeza de nota") o si es negra o corchea (donde la diferencia es las dos "alitas" que tiene la nota en el aplique)... puede ser que la correlación para imágenes tan simples no sea válida?. Alguien podría echarme una mano o darme alguna alternativa?? Mil gracias¡¡
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Conteo de objetos y ubicación

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 02/02/2014 22:23:22
Bueno tendrías que poner el código que estas haciendo y las notas. Poder filtrar tal código.
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