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 = 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의 짧은 색 이름을 사용하여 파란색 원 경계를 지정합니다.

그린 원을 대비 기능으로 향상시켜 가시성을 개선할지 여부로, 논리값 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"

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

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

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

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에 개발됨

모두 확장