Funciones > Procesamiento de imágenes > Procesamiento morfológico > Ejemplo: morfología de escala de grises
  
Ejemplo: morfología de escala de grises
Utilice las funciones de morfología de escala de grises para extraer los componentes de la imagen. También puede describir la forma de los objetos mediante la selección de pequeñas zonas claras u oscuras de una imagen.
Para obtener información sobre el uso de este ejemplo, consulte Acerca de los ejemplos de procesamiento de imágenes
gray_erode
En la erosión binaria, se utiliza un elemento de estructuración para definir un entorno alrededor de cada píxel. En este entorno de píxeles, la presencia de píxeles en segundo plano hace que el primer plano pase al segundo plano. La erosión de la escala de grises es el paso siguiente. Consiste en que los valores de píxel del elemento de la estructuración se restan de los valores de píxel de la imagen de entrada. La salida es el valor de píxel resultante mínimo dentro de los límites del elemento de la estructuración.
1. Cree una matriz secuencial 5 x 4.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Cree un elemento de estructuración simple (SE).
Pulse aquí para copiar esta expresión
3. Utilice la función gray_erode para realizar la erosión en escala de grises con el origen del SE en (0,0).
Pulse aquí para copiar esta expresión
4. Evalúe la nueva matriz, que debería ser igual a M - 1, excepto en la columna del extremo derecho y la fila inferior (condiciones de límite).
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
5. Utilice la función READ_IMAGE para leer una imagen.
Pulse aquí para copiar esta expresión
6. Erosione una imagen más realista con un SE centrado 5 x 5.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
7. Aplique la función gray_erode a la nueva imagen y, a continuación, utilice la función WRITEBMPpara guardarla en un fichero.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
8. Visualice las imágenes original y erosionada.
(lena.bmp)
(lena_le.bmp)
Tal como era de esperar, se observa que la imagen se ha oscurecido en general, las regiones más oscuras se han expandido y los detalles más claros han desaparecido.
gray_dilate
En la dilatación binaria, se utiliza un elemento de estructuración para definir un entorno para cada píxel en el que la presencia de un píxel de primer plano haga que el segundo plano pase a ser el primer plano.
1. Utilice la misma matriz secuencial y el mismo elemento de estructuración (SE) que antes.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Utilice la función gray_dilate para realizar dilatación en escala de grises con el origen del SE en (0,0).
Pulse aquí para copiar esta expresión
3. Evalúe la nueva matriz, que debería ser igual a M + 1, excepto en la columna del extremo derecho y la fila inferior (condiciones de límite).
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
4. Aplique la función gray_dilate a la imagen anterior.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
5. Visualice las imágenes original y dilatada.
(lena.bmp)
(lena_ld.bmp)
La dilatación tiene como resultado un mayor brillo, la expansión de las regiones claras y la pérdida de pequeños detalles oscuros.
gray_open, gray_close
La apertura y el cierre en escala de grises se definen de forma parecida a la apertura y el cierre en morfología binaria. La apertura consiste en una erosión de escala de grises seguida de una dilatación, mientras que el cierre consiste en una dilatación de escala de grises, seguida de una erosión.
Aplique gray_open y gray_close a la matriz secuencial para comprobar que son equivalentes a la erosión y la dilatación combinadas.
1. Aplique la apertura de la escala de grises a la matriz secuencial.
Pulse aquí para copiar esta expresión
2. Aplique la erosión de escala de grises a la matriz secuencial, con el origen del SE en (0,0).
Pulse aquí para copiar esta expresión
3. Aplique la dilatación de escala de grises a la matriz erosionada, con el origen del SE en (0,0).
Pulse aquí para copiar esta expresión
4. Compruebe que la apertura de la escala de grises es equivalente a la erosión y la dilatación de escala de grises combinadas.
Pulse aquí para copiar esta expresión
5. Aplique el cierre en escala de grises a la matriz secuencial.
Pulse aquí para copiar esta expresión
6. Aplique la dilatación de escala de grises a la matriz secuencial, con el origen del SE en (0,0).
Pulse aquí para copiar esta expresión
7. Aplique la erosión de escala de grises a la matriz dilatada, con el origen del SE en (0,0).
Pulse aquí para copiar esta expresión
8. Compruebe que el cierre en escala de grises es equivalente a la erosión y la dilatación de escala de grises combinadas.
Pulse aquí para copiar esta expresión
9. Aplique funciones a la imagen de prueba L y compare las imágenes dilatada, erosionada, abierta y cerrada.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
(lena_ld.bmp)
(lena_le.bmp)
(lena_lc.bmp)
(lena_lo.bmp)
A diferencia de la dilatación y la erosión, la apertura y el cierre en escala de grises no provocan cambios en el brillo general. Tanto la dilatación como el cierre mejoran las zonas claras y reducen las zonas oscuras de la imagen, mientras que la erosión y la apertura mejoran las zonas oscuras y reducen las zonas claras.