Main Content

labeloverlay

2차원 영상에 레이블 행렬 영역 겹치기

설명

예제

B = labeloverlay(A,L)은 레이블 행렬 L에서 0이 아닌 각 레이블마다 할당된 각기 다른 색을 입력 영상 A에 혼합합니다. labeloverlay 함수는 배경 픽셀에는 색을 혼합하지 않습니다.

예제

B = labeloverlay(A,BW)는 마스크 BWtrue인 영역에 할당된 색을 입력 영상에 혼합합니다. labeloverlay 함수는 배경 픽셀(레이블이 false인 픽셀)에는 색을 혼합하지 않습니다.

B = labeloverlay(A,C)는 categorical형 행렬 C의 각 레이블에 할당된 각기 다른 색을 입력 영상에 혼합합니다. labeloverlay 함수는 <undefined> 범주의 픽셀에는 혼합하지 않습니다.

예제

B = labeloverlay(___,Name,Value)는 혼합된 오버레이 영상 B를 계산할 때 Name,Value 쌍을 사용하여 계산의 여러 특성을 제어합니다.

예제

모두 축소

영상을 읽어 들인 다음, superpixels 함수를 사용하여 분할합니다.

A = imread('kobi.png');
[L,N] = superpixels(A,20);

원래 영상에 분할 결과를 혼합합니다. 혼합 영상을 표시합니다.

B = labeloverlay(A,L);
imshow(B)

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

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

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

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

이진화를 사용하여 마스크를 만듭니다.

t = graythresh(A);
BW = imbinarize(A,t);
imshow(BW)

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

원래 영상에 마스크를 혼합합니다. 혼합 영상을 표시합니다.

B = labeloverlay(A,BW);
imshow(B)

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

회색조 영상을 읽어 들입니다.

A = imread('coins.png');

이진화를 사용하여 마스크를 만듭니다.

BW = imbinarize(A);

영상 내용에 기반하여 categorical형 레이블을 만듭니다.

stringArray = repmat("table",size(BW));
stringArray(BW) = "coin";
categoricalSegmentation = categorical(stringArray);

원래 영상에 categorical형 레이블을 혼합합니다. 혼합 영상을 표시합니다.

B = labeloverlay(A,categoricalSegmentation);
imshow(B)

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

원래 영상에 범주 분할의 한 레이블을 혼합합니다. 컬러맵을 변경하고 레이블의 불투명도를 높여 결과를 표시합니다.

figure
C = labeloverlay(A,categoricalSegmentation,'IncludedLabels',"coin", ...
    'Colormap','autumn','Transparency',0.25);
imshow(C)

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

입력 인수

모두 축소

입력 영상으로, 2차원 회색조 영상 또는 컬러 영상으로 지정됩니다.

데이터형: single | double | int8 | int16 | uint8 | uint16

레이블로, 음이 아닌 정수로 구성된 행렬로 지정됩니다.

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

마스크로, 논리형 행렬로 지정됩니다.

데이터형: logical

범주 레이블로, categorical 행렬로 지정됩니다.

데이터형: categorical

이름-값 인수

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

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

예: 'Colormap','hot''hot' 컬러맵의 색으로 레이블을 표시합니다.

컬러맵으로, 'Colormap'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

  • l×3 컬러맵. 컬러맵의 각 행에 있는 RGB 3색은 [0, 1] 범위로 정규화되어야 합니다. l는 레이블 행렬 L, 이진 마스크 BW 또는 categorical형 행렬 C의 레이블 수입니다.

  • colormap 함수에 대한 유효한 입력값 중 하나에 해당하는 string형 또는 문자형 벡터입니다. labeloverlay는 인접 레이블이 더 뚜렷하게 구분되도록 지정된 컬러맵을 치환합니다.

예: [0.2, 0.1, 0.5; 0.1, 0.5, 0.8]

예: 'hot'

데이터형: single | double | char | string

혼합 영상에 표시할 레이블로, 'IncludedLabels'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • [0, max(L(:))] 범위의 정수 또는 정수로 구성된 벡터. 기본적으로 labeloverlay는 0이 아닌 레이블을 모두 표시합니다.

  • categorical형 행렬 C의 레이블에 해당하는 string형, 또는 string형으로 구성된 벡터. 기본적으로 labeloverlay는 정의된 categorical형 레이블을 모두 표시합니다.

벡터에 포함되지 않는 모든 레이블은 배경으로 간주됩니다. 예를 들어 벡터 [1,3,4]에서 값 2는 레이블로 존재한 경우 배경으로 간주됩니다.

예: [1,3,4]

예: ["flower","stem"]

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

표시된 레이블의 투명도로, 'Transparency'와 함께 [0, 1] 범위의 숫자가 쉼표로 구분되어 지정됩니다.

  • 값이 0이면 컬러 레이블이 완전히 불투명해집니다.

  • 값이 1이면 컬러 레이블이 완전히 투명해집니다.

데이터형: single | double

출력 인수

모두 축소

혼합 영상으로, A와 같은 크기의 숫자형 행렬로 반환됩니다.

데이터형: uint8

버전 내역

R2017b에 개발됨

참고 항목

| |

도움말 항목