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.
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


0