Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

viscircles

Descripción

ejemplo

viscircles(centers,radii) dibuja círculos con centers y radii especificados en los ejes actuales.

viscircles(ax,centers,radii) dibuja círculos en los ejes que especifica ax.

viscircles(___,Name,Value) utiliza argumentos de par nombre-valor para especificar propiedades adicionales de los círculos.

h = viscircles(___) devuelve un identificador, h, para dibujar círculos.

Ejemplos

contraer todo

Lea una imagen en el espacio de trabajo y muéstrela en pantalla.

A = imread('circlesBrightDark.png');
imshow(A)

Figure contains an axes object. The axes object contains an object of type image.

Defina el alcance del radio.

Rmin = 30;
Rmax = 65;

Encuentre todos los círculos brillantes de la imagen que se encuentran dentro del rango de radio.

[centersBright, radiiBright] = imfindcircles(A,[Rmin Rmax],'ObjectPolarity','bright');

Encuentre todos los círculos oscuros de la imagen que se encuentran dentro del rango de radio.

[centersDark, radiiDark] = imfindcircles(A,[Rmin Rmax],'ObjectPolarity','dark');

Dibuje líneas azules alrededor de los bordes de los círculos brillantes.

viscircles(centersBright, radiiBright,'Color','b');

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

Dibuje líneas de rayas rojas alrededor de los bordes de los círculos oscuros.

viscircles(centersDark, radiiDark,'LineStyle','--');

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

La función viscircles no borra los ejes objetivo antes de trazar los círculos. Para eliminar los círculos que se han trazado previamente en un eje, utilice la función cla. Para ilustrarlo, este ejemplo crea una nueva figura y, después, hace un bucle, por lo que se dibuja un conjunto de círculos con cada iteración, lo que borra los ejes cada vez.

figure
colors = {'b','r','g','y','k'}; 
 
for k = 1:5
    % Create 5 random circles to display,
    X = rand(5,1);
    Y = rand(5,1);
    centers = [X Y];
    radii = 0.1*rand(5,1);
 
    % Clear the axes.
    cla
 
    % Fix the axis limits.
    xlim([-0.1 1.1])
    ylim([-0.1 1.1])
 
    % Set the axis aspect ratio to 1:1.
    axis square
 
    % Set a title.
    title(['k = ' num2str(k)])
 
    % Display the circles.
    viscircles(centers,radii,'Color',colors{k});
              
    % Pause for 1 second.
    pause(1)
end

Figure contains an axes object. The axes object with title k = 5 contains 2 objects of type line.

Argumentos de entrada

contraer todo

Coordenadas de los centros de los círculos, especificadas como una matriz P por 2, como las obtenidas de imfindcircles. Las coordenadas x de los centros de los círculos se encuentran en la primera columna y las coordenadas y, en la segunda. Las coordenadas pueden ser números enteros (de cualquier tipo numérico) o valores de punto flotante (de tipo double o single).

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

Radios de los círculos, especificados como vector columna como el que devuelve imfindcircles. El valor del radio en radii(j) corresponde al círculo con las coordenadas del centro centers(j,:). Los valores de radii pueden ser números enteros no negativos (de cualquier tipo numérico) o valores de punto flotante (de tipo double o single).

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

Ejes en los que dibujar círculos, especificados como objeto identificador que devuelve gca o axes.

Tipos de datos: double

Argumentos de par nombre-valor

Ejemplo: viscircles(centers,radii,'Color','b') especifica los bordes del círculo azul utilizando el nombre corto del color azul.

Especifique pares opcionales de argumentos separados por comas Name,Value. Name es el nombre del argumento y Value es el valor correspondiente. Name debe aparecer entre comillas. Puede especificar varios argumentos de par nombre-valor en cualquier orden como Name1,Value1,...,NameN,ValueN.

Aumente los círculos dibujados con funcionalidades de contraste para mejorar la visibilidad, especificada como valor lógico true o false. Si establece el valor en true, viscircles dibuja un círculo de contraste debajo el círculo de color.

Tipos de datos: logical

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. Así, 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: viscircles(centers,radii,'Color','r');

Ejemplo: viscircles(centers,radii,'Color','green');

Ejemplo: viscircles(centers,radii,'Color',[0 0 1]);

Ejemplo: viscircles(centers,radii,'Color','#FF8800');

Estilo de línea del borde del círculo, especificado como pares separados por comas que constan 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

Anchura del borde del círculo, especificada como número positivo. La anchura de la línea se expresa en puntos, en la que cada punto equivale a 1/72 de pulgada.

Tipos de datos: double

Argumentos de salida

contraer todo

Círculos dibujados, devueltos 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 R2012a