이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

viscircles

설명

예제

viscircles(centers,radii)는 지정된 centersradii를 갖는 원을 현재 좌표축에 그립니다.

viscircles(ax,centers,radii)ax로 지정된 좌표축에 원을 그립니다.

viscircles(___,Name,Value)는 위에 열거된 구문에 Name,Value 쌍 인수를 하나 이상 추가 옵션으로 지정합니다. 파라미터 이름은 축약형일 수 있습니다.

h = viscircles(___)는 그린 원에 대한 핸들 h를 반환합니다.

예제

모두 축소

영상을 작업 공간으로 읽어 들인 후 표시합니다.

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

반지름 범위를 정의합니다.

Rmin = 30;
Rmax = 65;

영상에서 반지름 범위 내에 있는 밝은 원을 모두 찾습니다.

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

영상에서 반지름 범위 내에 있는 어두운 원을 모두 찾습니다.

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

밝은 원의 경계를 따라 푸른 선을 그립니다.

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

어두운 원의 경계를 따라 빨간 파선을 그립니다.

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

viscircles 함수는 원을 플로팅하기 전에 대상 좌표축을 지우지 않습니다. 좌표축에서 이전에 플로팅한 원을 제거하려면 cla 함수를 사용하십시오. 이를 설명하기 위해 이 예제에서는 새 Figure를 만든 다음 루프를 실행하고, 매 반복 시 일련의 원을 그리고 매번 좌표축을 지웁니다.

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

입력 인수

모두 축소

원 중심의 좌표로, imfindcircles에서 가져온 것과 같은 Px2 행렬로 지정됩니다. 원 중심의 x 좌표는 첫 번째 열에 있고, y 좌표는 두 번째 열에 있습니다. 좌표는 정수(임의 숫자형)이거나 부동소수점 값(double형 또는 single형)일 수 있습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

원 반지름으로, imfindcircles에서 가져온 것과 같은 열 벡터로 지정됩니다. radii(j)의 반지름 값은 중심 좌표가 centers(j,:)인 원에 해당합니다. radii의 값은 음이 아닌 정수(임의 숫자형)이거나 부동소수점 값(double형 또는 single형)일 수 있습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

원을 그릴 좌표축으로, gca 또는 axes에서 반환되는 핸들 객체로 지정됩니다.

데이터형: double

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: viscircles(centers,radii,'Color','b')는 blue의 짧은 색 이름을 사용하여 파란색 원 경계를 지정합니다.

그린 원을 대비 기능으로 향상시켜 가시성을 개선할지 여부로, 논리값 true 또는 false로 지정됩니다. 값을 true로 설정하면, viscircles는 컬러 원 아래에 대비 원을 그립니다.

데이터형: logical

경계 색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 색 이름으로 지정됩니다.

사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

  • 16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 '#FF8800', '#ff8800', '#F80''#f80'은 모두 동일합니다.

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름RGB 3색16진수 색 코드실제 표시 색
'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'해당 없음해당 없음해당 없음색 없음

다음은 MATLAB®이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드실제 표시 색
[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'

예: viscircles(centers,radii,'Color','r');

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

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

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

원 경계의 선 스타일로, 'LineStyle'과 아래 표에 나온 선 지정자가 쉼표로 구분되어 지정됩니다.

선 스타일설명결과 선
'-'실선

'--'파선

':'점선

'-.'일점 쇄선

'none'선 없음선 없음

원 경계의 너비로, double형의 양의 부동소수점 값으로 지정됩니다. 선 너비는 포인트로 표현되고, 여기서 1포인트는 1/72인치와 같습니다(1인치 = 2.54cm).

출력 인수

모두 축소

그린 원으로, hggroup 객체로 반환됩니다. 좌표축 ax가 지정된 경우 h는 이 좌표축의 하위(자식)이고, 좌표축이 지정되지 않은 경우 h는 현재 좌표축의 하위(자식)입니다.

R2012a에 개발됨