Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

visboundaries

Representar límites de región

Descripción

ejemplo

visboundaries(BW) dibuja límites de regiones en la imagen binaria BW de los ejes actuales. BW es una imagen binaria 2D en la que los píxeles que son true lógicos pertenecen a la región de primer plano y los píxeles que son false lógicos constituyen el fondo. visboundaries utiliza bwboundaries para encontrar ubicaciones de píxeles de límite en la imagen.

visboundaries(B) dibuja límites de regiones especificadas por B, donde B es un arreglo de celdas que contiene las ubicaciones de píxeles de límites de las regiones, de estructura similar a la primera salida de bwboundaries.

visboundaries(ax,___) dibuja límites de regiones en los ejes que especifica ax. Especifique ax como el primer argumento de entrada seguido de cualquier combinación de argumentos de entrada en las sintaxis anteriores.

ejemplo

visboundaries(___,Name,Value) utiliza argumentos de nombre-valor para especificar propiedades adicionales de los límites.

h = visboundaries(___) devuelve un identificador, h, para los límites.

Ejemplos

contraer todo

Lea una imagen.

BW = imread('blobs.png');

Calcule límites.

B = bwboundaries(BW);

Muestre la imagen y represente los límites en la imagen.

imshow(BW)
hold on
visboundaries(B)

Figure contains an axes object. The axes object contains 3 objects of type line, image.

Lea una imagen y muéstrela.

I = imread('toyobjects.png');
imshow(I)
hold on

Segmente la imagen utilizando el algoritmo de contornos activos (snakes). En primer lugar, especifique la ubicación del contorno inicial cercano al objeto que se va a segmentar.

mask = false(size(I));
mask(50:150,40:170) = true;

Muestre el contorno inicial de la imagen original en azul.

visboundaries(mask,'Color','b');

Figure contains an axes object. The axes object contains 3 objects of type line, image.

Segmente la imagen utilizando el método 'edge' y 200 iteraciones.

bw = activecontour(I,mask,200,'edge');

Muestre el contorno final en la imagen original en rojo.

visboundaries(bw,'Color','r');
title('Blue - Initial Contour, Red - Final Contour');

Figure contains an axes object. The axes object with title Blue - Initial Contour, Red - Final Contour contains 5 objects of type line, image.

Argumentos de entrada

contraer todo

Imagen binaria, especificada como arreglo lógico.

Tipos de datos: logical

Ubicaciones de píxeles de límites, especificadas como un arreglo de celdas. Cada celda contiene una matriz Q por 2, donde Q es el número de los píxeles de límites de la región correspondiente. Cada fila de estas matrices Q por 2 contiene las coordenadas de fila y columna de un píxel de límites.

Tipos de datos: cell

Imagen en la que dibujar límites, especificada como un objeto de ejes.

Tipos de datos: double

Argumentos de par nombre-valor

Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.

En las versiones anteriores a la R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: visboundaries(bw,'Color','b');

Color del límite, especificado como triplete RGB, código de color hexadecimal, nombre del color o nombre corto del color.

Si desea un color personalizado, especifique un triplete RGB o un código de color hexadecimal.

  • Un triplete RGB es un vector de tres filas cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el intervalo [0,1]; por ejemplo, [0.4 0.6 0.7].

  • Un código de color hexadecimal es un vector de caracteres o un escalar de cadena que empieza con un símbolo de almohadilla (#) seguido de tres o seis dígitos hexadecimales, que pueden ir desde 0 hasta F. Los valores no distinguen entre mayúsculas y minúsculas. Por lo tanto, los códigos de color "#FF8800", "#ff8800", "#F80" y "#f80" son equivalentes.

Como alternativa, puede especificar algunos colores habituales por su nombre. En esta tabla se enumeran las opciones de color con nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.

Nombre del colorNombre cortoTriplete RGBCódigo de color hexadecimalApariencia
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"No se aplicaNo se aplicaNo se aplicaSin color

Aquí están los tripletes RGB y los códigos de color hexadecimales para los colores por defecto que MATLAB® utiliza en muchos tipos de trazados.

Triplete RGBCódigo de color hexadecimalApariencia
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Ejemplo: 'Color','r'

Ejemplo: 'Color','green'

Ejemplo: 'Color',[0 0 1]

Ejemplo: 'Color','#FF8800'

Estilo de línea del borde del límite, especificado como el par separado por comas que consta de 'LineStyle' y cualquier especificador de línea de la tabla siguiente.

Estilo de líneaDescripciónLínea resultante
"-"Línea sólida

Sample of solid line

"--"Línea de rayas

Sample of dashed line

":"Línea de puntos

Sample of dotted line

"-."Línea de puntos y rayas

Sample of dash-dotted line, with alternating dashes and dots

"none"Sin líneaSin línea

Ejemplo: 'LineStyle','-.'

Ancho de la línea usada en el límite, especificado como un número positivo. Especifique este valor en puntos, donde un punto = 1/72 pulgadas.

Ejemplo: 'LineWidth',4

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Aumente el límite dibujado con funcionalidades de contraste para mejorar la visibilidad en un fondo cambiante, especificada como un valor numérico o lógico 1 (true) o 0 (false).

Ejemplo: 'EnhanceVisibility',true

Tipos de datos: logical

Argumentos de salida

contraer todo

Línea de límite, devuelta como un objeto hggroup. h es el subelemento de los ejes ax si se especifica. En caso contrario, h es el subelemento de los ejes actuales.

Historial de versiones

Introducido en R2015a