activecontour
Segmentar una imagen para separar el primer plano y el fondo mediante la técnica de crecimiento regional de contornos activos (snakes)
Sintaxis
Descripción
La técnica de contornos activos, también llamada snakes, es un algoritmo iterativo de segmentación de imágenes por regiones. Mediante el algoritmo de contornos activos, se especifican curvas iniciales en una imagen y, a continuación, se utiliza la función activecontour
para hacer evolucionar las curvas hacia los límites del objeto.
segmenta la imagen BW
= activecontour(A
,mask
)A
en regiones de primer plano (objeto) y de fondo mediante contornos activos.
El argumento mask
es una imagen binaria que especifica el estado inicial del contorno activo. Los límites de las regiones del objeto (blanco) en mask
definen la posición inicial del contorno utilizada para evolucionarlo con el fin de segmentar la imagen. La imagen de salida BW
es una imagen binaria en la que el primer plano es blanco (true
lógico) y el fondo es negro (false
lógico).
Para obtener resultados de segmentación más rápidos y precisos, especifique una posición inicial del contorno cercana a los límites del objeto deseado.
especifica argumentos de par nombre-valor que controlan varios aspectos de la segmentación.BW
= activecontour(___,Name,Value
)
Ejemplos
Argumentos de entrada
Argumentos de salida
Sugerencias
activecontour
utiliza los límites de las regiones demask
como estado inicial del contorno a partir del cual empieza la evolución. La existencia de huecos en la máscara puede causar resultados impredecibles. Utiliceimfill
para rellenar los huecos que haya en las regiones demask
.Si una región toca los bordes de la imagen,
activecontour
elimina una capa de un solo píxel de la región, antes de seguir procesándola, para que la región no toque el borde de la imagen.Para obtener resultados más rápidos y precisos, especifique una posición inicial del contorno que esté cerca de los límites deseados del objeto, especialmente en el caso del método
"edge"
.En el método
"edge"
, el contorno activo está sesgado a encogerse hacia el interior (contraerse). Si no hay ningún gradiente en la imagen, el contorno activo se encoge por sí solo. Por el contrario, con el método"Chan-Vese"
, en el que no está sesgado, el contorno es libre de contraerse o expandirse en función de las características de la imagen.Para lograr una segmentación precisa con el método
"edge"
, especifique un contorno inicial que se encuentre fuera de los límites del objeto. El contorno activo con el método"edge"
está sesgado a encogerse de forma predeterminada.Si las regiones de los objetos tienen intensidades de escala de grises significativamente diferentes, es posible que el método
"Chan-Vese"
[1] no segmente todos los objetos de la imagen. Por ejemplo, si la imagen contiene objetos más claros que el fondo y otros más oscuros, el método"Chan-Vese"
suele segmentar bien los objetos oscuros, bien los brillantes únicamente.
Algoritmos
activecontour
utiliza el método Sparse-Field level-set, similar al método descrito en [3], para implementar la evolución activa del contorno.
Referencias
[1] T. F. Chan, L. A. Vese, Active contours without edges. IEEE Transactions on Image Processing, Volume 10, Issue 2, pp. 266-277, 2001.
[2] V. Caselles, R. Kimmel, G. Sapiro, Geodesic active contours. International Journal of Computer Vision, Volume 22, Issue 1, pp. 61-79, 1997.
[3] R. T. Whitaker, A level-set approach to 3d reconstruction from range data. International Journal of Computer Vision, Volume 29, Issue 3, pp. 203-231, 1998.
Historial de versiones
Introducido en R2013a
Consulte también
Image Segmenter | multithresh
| poly2mask
| roipoly
| drawfreehand
| drawellipse
| drawpolygon