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 actuales.centersradii

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

viscircles(___,Name,Value) especifica opciones adicionales con uno o más argumentos de par, utilizando cualquiera de las sintaxis anteriores.Name,Value Los nombres de parámetro se pueden abreviar.

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

Ejemplos

contraer todo

Lea la imagen en el espacio de trabajo y mostrarla.

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

Defina el rango de radio.

Rmin = 30; Rmax = 65;

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

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

Encuentra todos los círculos oscuros en 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, borrar 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

Las coordenadas de los centros circulares, especificadas como a-por-matriz, como la obtenida de.P2imfindcircles Las-coordenadas de los centros circulares están 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

Radios circulares, especificados como un vector de columna como el que devuelve.imfindcircles El valor de radio corresponde al círculo con las coordenadas del centro.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 se dibujan círculos, especificados como un objeto Handle devuelto por o.gcaaxes

Tipos de datos: double

Argumentos de par nombre-valor

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

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

Aumente los círculos dibujados con características contrastantes 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 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, cuyo elemento especifica 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 de hash () seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre.#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. Esta tabla enumera 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 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 es aplicableNo es aplicableNo es aplicableSin color

Estos son los tripletes 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 del borde del círculo, 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ónLa línea resultante
'-'La línea sólida

'--'Línea discontinua

':'Línea de puntos

'-.'Dash-línea de puntos

'none'Ninguna líneaNinguna línea

Ancho del borde del círculo, especifica un valor de punto flotante positivo.double El ancho de línea se expresa en puntos, donde cada punto equivale a 1/72 de pulgada.

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