Matlab - Etiquetado en MatLab

   
Vista:

Etiquetado en MatLab

Publicado por Óscar Garcia (1 intervención) el 07/09/2010 17:15:07
Bueno, lo siento si no me presento y si soy asi de directo, pero de esto depende que apruebe una asignatura o no, he intentado hacerlo de todas las maneras posbiles y no soy capaz.

Os pongo el guion de lo que tengo que hacer:

Bueno, tiene que hacer lo mismo que la funcion bwlabel de matlab, pero obviamente no puedo utilisar esta funcion, la tengo que fabricar. Es para procesamiento de imagenes.

El etiquetado de p actúa según el
siguiente algoritmo:

• Si los 4 vecinos no están etiquetados, se genera una nueva etiqueta, sino
• Si sólo un vecino está etiquetado, se le asigna dicha etiqueta a p, sino
• Si uno o más de los vecinos tienen etiqueta, asignar una de ellas a p y anotar las
equivalencias entre ellas (ya que todas pertenecen a la misma etiqueta).
Tras completar el rastreo, los pares de etiquetas equivalentes se ordenan en clases de
equivalencia y se asigna una etiqueta única a cada clase. Como paso final, se realiza un
segundo rastreo, durante el cual cada etiqueta se reemplaza por la etiqueta asignada a su
clase equivalente. Para poder mostrarlas, las etiquetas deben ser colores o niveles de
gris diferentes.

Para probar este operador, entrad en el Worksheet de HIPR y copiad la primera imagen
que aparece (binaria) y renombradla como aspas.gif. Al ser una imagen binaria, la
utilidad del proceso de etiquetado será, por un lado, contabilizar el número de objetos
conexos que hay en la imagen, y por otro, mostrarlos de forma distintiva (por ejemplo,
colorear las aspas que estén separadas).
Para formar la imagen de salida (en color), se asignará un índice (etiqueta) a cada píxel,
y dicho índice tendrá un mapa de color, que podemos crear a propósito de esta imagen.

El color de fondo se considera negro a todos los efectos,
para poder distinguir píxeles que no pertenezcan a la categoría a etiquetar de los ya
etiquetados. En la imagen de ejemplo, se consideran píxeles a etiquetar los píxeles
objeto (blancos).
Se pretende que, como ejercicio final del curso, implementéis completamente este
operador mediante una función, que declararemos en MatLab como:
function [n_eti, X, map] = etiqueta(J,conectividad);
Como entradas, una imagen en binaria J y un indicador de conectividad, que puede
ser de 8 vecinos o de 4 (sin contar diagonales).

Como salidas, el número de etiquetas generadas, n_eti, y la imagen indexada de
salida, X y map. No podrá haber ninguna fila del mapa de color map no utilizada en X.

No me funciona de ninguna manera.
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

Etiquetado en MatLab

Publicado por Profesor de la Asignatura (1 intervención) el 15/03/2011 14:14:30
Si tienes más dudas, ya sabes donde tengo el despacho ...
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