Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

viscircles

Descripción

ejemplo

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

viscircles(ax,centers,radii) dibuja círculos en los ejes especificados por .ax

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

h = viscircles(___) devuelve un identificador, , a los círculos dibujados.h

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo y muéstrala.

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

Defina el rango de radio.

Rmin = 30; Rmax = 65;

Encuentra todos los círculos brillantes de la imagen dentro del rango de radio.

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

Encuentra todas las ojeras de la imagen dentro del rango de radio.

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

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

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

Dibuja líneas discontinuas rojas alrededor de los bordes de las ojeras.

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

La función no borra los ejes de destino antes de trazar círculos.viscircles Para eliminar círculos que se han trazado previamente en un eje, utilice la función.cla Para ilustrar, este ejemplo crea una nueva figura y, a continuación, bucles, dibujando un conjunto de círculos con cada iteración, borrando 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

contraer todo

Coordenadas de centros de círculo, especificadas como una matriz -by-, como la obtenida de .P2imfindcircles Las coordenadas de los círculos se encuentran en la primera columna y las coordenadas -están en la segunda columna.xy Las coordenadas pueden ser enteros (de cualquier tipo numérico) o valores de punto flotante (de tipo o ).doublesingle

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

Los radios de círculo, especificados como un vector de columna como el devuelto por .imfindcircles El valor de radio en corresponde al círculo con coordenadas centrales.radii(j)centers(j,:) Los valores de pueden ser enteros no negativos (de cualquier tipo numérico) o valores de punto flotante (de tipo o ).radiidoublesingle

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

Ejes en los que dibujar círculos, especificados como un objeto handle devuelto por o .gcaaxes

Tipos de datos: double

Argumentos de par nombre-valor

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

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

Aumente los círculos dibujados con entidades de contraste para mejorar la visibilidad, especificadas como un valor lógico o .truefalse Si establece el valor en , dibuja un círculo de contraste debajo del círculo de color.trueviscircles

Tipos de datos: logical

Color del contorno, especificado como un triplete RGB, un código de color hexadecimal, un nombre de color o un nombre de color corto.

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

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

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

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

Nombre del colorNombre cortoTriplete RGBCódigo de color hexadecimalAspecto
'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 aplicableNo aplicableNo aplicableSin color

Aquí están los trillizos RGB y los códigos de color hexadecimales para los colores predeterminados que se utilizan en muchos tipos de trazados.MATLAB®

Triplete RGBCódigo de color hexadecimalAspecto
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

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 de arista circular, especificado como el par separado por comas que consta de y cualquier especificador de línea en la tabla siguiente.'LineStyle'

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

'--'Línea discontinua

':'Línea de puntos

'-.'Línea de puntos De salpicadero

'none'Sin líneaSin línea

Anchura de la arista del círculo, se especificó un número positivo. El ancho de línea se expresa en puntos, donde cada punto es igual a 1/72 de una pulgada.

Tipos de datos: double

Argumentos de salida

contraer todo

Círculos dibujados, devueltos como un objeto. es el elemento secundario de los ejes si se especifica, de lo contrario es el elemento secundario de los ejes actuales.hggrouphaxh

Introducido en R2012a