Main Content

viscircles

Descripción

ejemplo

viscircles(centers,radii) dibuja círculos con centers y radii especificados en los ejes actuales. Puede utilizar la función imfindcircles para encontrar los centros y los radios de los círculos de una imagen.

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

viscircles(___,Name=Value) utiliza argumentos de 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 área 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 claros 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 claros.

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 unos ejes, 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 numérica de dos columnas. Las coordenadas x de los centros de los círculos se encuentran en la primera columna y las coordenadas y, en la segunda.

Radios de los círculos, especificados como número positivo o vector columna de números positivos de la misma longitud que centers. Cuando radii es un número positivo, viscircles dibuja todos los círculos con el mismo radio. Cuando radii es un vector columna, viscircles dibuja cada círculo centers(j,:) con el radio radii(j) correspondiente.

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

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.

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

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

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

Aumente los círculos dibujados con funcionalidades de contraste para mejorar la visibilidad, especificada como un valor lógico o numérico 1 (true) o 0 (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. 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: 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 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

expandir todo