viscircles
Crear círculo
Sintaxis
Descripción
viscircles(
dibuja círculos con centers
,radii
)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(___,
utiliza argumentos de nombre-valor para especificar propiedades adicionales de los círculos.Name=Value
)
devuelve un identificador, h
= viscircles(___)h
, para dibujar círculos.
Ejemplos
Lea una imagen en el área de trabajo y muéstrela en pantalla.
A = imread('circlesBrightDark.png');
imshow(A)
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');
Dibuje líneas de rayas rojas alrededor de los bordes de los círculos oscuros.
viscircles(centersDark, radiiDark,'LineStyle','--');
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
Argumentos de entrada
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.
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 desde0
hastaF
. 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 color | Nombre corto | Triplete RGB | Código de color hexadecimal | Apariencia |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | No se aplica | No se aplica | No se aplica | Sin color |
Esta tabla enumera las paletas de colores predeterminadas para las gráficas en los temas claro y oscuro.
Paleta | Colores de la paleta |
---|---|
Antes de R2025a: La mayoría de las gráficas utilizan estos colores de forma predeterminada. |
|
|
|
Puede obtener los tripletes RGB y los códigos de color hexadecimales de estas paletas usando las funciones orderedcolors
y rgb2hex
. Por ejemplo, puede obtener los tripletes RGB de la paleta "gem"
y convertirlos en códigos de color hexadecimales.
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
Antes de R2023b: Obtenga los tripletes RGB con RGB = get(groot,"FactoryAxesColorOrder")
.
Antes de R2024a: Obtenga los códigos de color hexadecimales con H = compose("#%02X%02X%02X",round(RGB*255))
.
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ínea | Descripción | Línea resultante |
---|---|---|
"-" | Línea sólida |
|
"--" | Línea de rayas |
|
":" | Línea de puntos |
|
"-." | Línea de puntos y rayas |
|
"none" | Sin línea | Sin 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
Historial de versiones
Introducido en R2012aviscircles
acepta un valor escalar para el argumento radii
. Cuando radii
es un escalar, viscircles
dibuja todos los círculos con el mismo radio.
Consulte también
Image Viewer | visboundaries
| imfindcircles
| circles2mask
| imdistline
| drawcircle
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)