viscircles
원 생성
구문
설명
viscircles(
는 지정된 centers
,radii
)centers
와 radii
를 갖는 원을 현재 좌표축에 그립니다. imfindcircles
함수를 사용하여 영상에서 원의 중심과 반지름을 찾을 수 있습니다.
viscircles(___,
는 이름-값 인수를 사용하여 원의 추가 속성을 지정합니다.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
입력 인수
centers
— 원의 중심의 좌표
2열 숫자형 행렬
원의 중심의 좌표로, 2열 숫자형 행렬로 지정됩니다. 원의 중심의 x 좌표는 첫 번째 열에 있고, y 좌표는 두 번째 열에 있습니다.
radii
— 원 반지름
양수 | 열 벡터
원 반지름으로, 양수 또는 양수로 구성된 centers
와 길이가 같은 열 벡터로 지정됩니다. radii
가 양수인 경우 viscircles
는 모든 반지름이 같은 원을 그립니다. radii
가 열 벡터인 경우 viscircles
는 연관된 반지름 radii(j)
를 사용하여 각 원 centers(j,:)
를 그립니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: viscircles(centers,radii,Color="b")
는 blue의 짧은 색 이름을 사용하여 파란색 원 경계를 지정합니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: viscircles(centers,radii,"Color","b")
는 blue의 짧은 색 이름을 사용하여 파란색 원 경계를 지정합니다.
EnhanceVisibility
— 그린 원을 대비 기능으로 향상시켜 가시성을 개선할지 여부
true
또는 1
(디폴트 값) | false
또는 0
그린 원을 대비 기능으로 향상시켜 가시성을 개선할지 여부로, 숫자형 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값을 true
로 설정하면, viscircles
는 컬러 원 아래에 대비 원을 그립니다.
데이터형: logical
Color
— 경계 색
"red"
(디폴트 값) | RGB 3색 | 16진수 색 코드 | 색 이름 | 짧은 색 이름
경계 색으로, 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"
원 경계의 선 스타일로, 아래 표에 나온 선 지정자로 지정됩니다.
선 스타일 | 설명 | 결과 선 |
---|---|---|
"-" | 실선 |
|
"--" | 파선 |
|
":" | 점선 |
|
"-." | 일점 쇄선 |
|
"none" | 선 없음 | 선 없음 |
LineWidth
— 원 경계의 너비
2
(디폴트 값) | 양수
원 경계의 너비로, 양수로 지정됩니다. 선 너비는 포인트로 표현됩니다. 여기서 1포인트는 1/72인치와 같습니다.
데이터형: double
출력 인수
버전 내역
R2012a에 개발됨R2022b: 스칼라 radii
받음
viscircles
는 radii
인수에 대한 스칼라 값을 받습니다. radii
가 스칼라인 경우 viscircles
는 모두 반지름이 같은 원을 그립니다.
참고 항목
영상 뷰어 | visboundaries
| imfindcircles
| circles2mask
| imdistline
| drawcircle
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)