Main Content

visboundaries

영역 경계선 플로팅

설명

예제

visboundaries(BW)는 이진 영상 BW의 영역 경계선을 현재 좌표축에 그립니다. BW는 2차원 이진 영상이며 논리값 true인 픽셀은 전경 영역에 속하고 논리값 false인 픽셀은 배경을 구성합니다. visboundariesbwboundaries를 사용하여 영상에서 경계 픽셀 위치를 찾습니다.

visboundaries(B)B에 의해 지정된 영역 경계선을 그립니다. 여기서 B는 영역의 경계 픽셀 위치를 포함하는 셀 배열로, bwboundaries에서 반환하는 첫 번째 출력값과 유사한 구조를 가집니다.

visboundaries(ax,___)는 영역 경계선을 ax로 지정된 좌표축에 그립니다. ax를 첫 번째 입력 인수로 지정하고 뒤이어 위에 열거된 구문에 나와 있는 입력 인수를 원하는 대로 조합하여 지정하십시오.

예제

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

h = visboundaries(___)는 경계선에 대한 핸들 h를 반환합니다.

예제

모두 축소

영상을 읽어 들입니다.

BW = imread('blobs.png');

경계선을 계산합니다.

B = bwboundaries(BW);

영상을 표시하고 영상에 경계선을 플로팅합니다.

imshow(BW)
hold on
visboundaries(B)

영상을 읽어 들인 후 이를 표시합니다.

I = imread('toyobjects.png');
imshow(I)
hold on

능동 윤곽선(스네이크) 알고리즘을 사용하여 영상을 분할합니다. 먼저, 분할하려는 객체에 가깝게 초기 윤곽선 위치를 지정합니다.

mask = false(size(I));
mask(50:150,40:170) = true;

원본 영상 위에 초기 윤곽선을 파란색으로 표시합니다.

visboundaries(mask,'Color','b');

'edge' 방법과 200회의 반복을 사용하여 영상을 분할합니다.

bw = activecontour(I,mask,200,'edge');

원본 영상 위에 최종 윤곽선을 빨간색으로 표시합니다.

visboundaries(bw,'Color','r');
title('Blue - Initial Contour, Red - Final Contour');

입력 인수

모두 축소

이진 영상으로, 논리형 배열로 지정됩니다.

데이터형: logical

경계 픽셀 위치로, 셀형 배열로 지정됩니다. 각 셀에는 Q×2 행렬이 포함되며, 여기서 Q는 해당 영역의 경계 픽셀 수입니다. 이 Q×2 행렬의 각 행에는 경계 픽셀의 행 좌표와 열 좌표가 포함되어 있습니다.

데이터형: cell

경계선을 그릴 영상으로, axes 객체로 지정됩니다.

데이터형: double

이름-값 인수

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

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

예: visboundaries(bw,'Color','b');

경계 색으로, 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

예: 'Color','r'

예: 'Color','green'

예: 'Color',[0 0 1]

예: '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"선 없음선 없음

예: 'LineStyle','-.'

경계선에 사용된 선의 너비로, 양수로 지정됩니다. 이 값을 포인트 단위로 지정하십시오(1포인트 = 1/72인치).

예: 'LineWidth',4

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

그린 경계선을 대비 기능으로 향상시켜 다양한 배경에서 가시성을 개선할지 여부로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다.

예: 'EnhanceVisibility',true

데이터형: logical

출력 인수

모두 축소

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

버전 내역

R2015a에 개발됨