Main Content

viscircles

설명

예제

viscircles(centers,radii)는 지정된 centersradii를 갖는 원을 현재 좌표축에 그립니다. imfindcircles 함수를 사용하여 영상에서 원의 중심과 반지름을 찾을 수 있습니다.

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

viscircles(___,Name=Value)는 이름-값 인수를 사용하여 원의 추가 속성을 지정합니다.

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

예제

모두 축소

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

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

Figure contains an axes object. The axes object contains an object of type image.

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

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');

Figure contains an axes object. The axes object contains 3 objects of type line, image.

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

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

Figure contains an axes object. The axes object contains 5 objects of type line, image.

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

Figure contains an axes object. The axes object with title k = 1 contains 2 objects of type line.

Figure contains an axes object. The axes object with title k = 5 contains 2 objects of type line.

입력 인수

모두 축소

원의 중심의 좌표로, 2열 숫자형 행렬로 지정됩니다. 원의 중심의 x 좌표는 첫 번째 열에 있고, y 좌표는 두 번째 열에 있습니다.

원 반지름으로, 양수 또는 양수로 구성된 centers와 길이가 같은 열 벡터로 지정됩니다. radii가 양수인 경우 viscircles는 모든 반지름이 같은 원을 그립니다. radii가 열 벡터인 경우 viscircles는 연관된 반지름 radii(j)를 사용하여 각 원 centers(j,:)를 그립니다.

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

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

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

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

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

그린 원을 대비 기능으로 향상시켜 가시성을 개선할지 여부로, 숫자형 또는 논리값 1(true) 또는 0(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"

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"해당 없음해당 없음해당 없음색 없음

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

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

예: viscircles(centers,radii,Color="r");

예: viscircles(centers,radii,Color="green");

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

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

원 경계의 선 스타일로, 아래 표에 나온 선 지정자로 지정됩니다.

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

Sample of solid line

"--"파선

Sample of dashed line

":"점선

Sample of dotted line

"-."일점 쇄선

Sample of dash-dotted line, with alternating dashes and dots

"none"선 없음선 없음

원 경계의 너비로, 양수로 지정됩니다. 선 너비는 포인트로 표현됩니다. 여기서 1포인트는 1/72인치와 같습니다.

데이터형: double

출력 인수

모두 축소

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

버전 내역

R2012a에 개발됨

모두 확장