labelmatrix
연결성분의 구조체에서 레이블 행렬 생성
설명
레이블 행렬은 이진 영상에 있는 객체 또는 연결성분에 고유 정수 값을 할당합니다. 레이블 행렬을 사용하여 서로 다른 객체 또는 연결성분을 시각화할 수 있습니다.
예제
연결성분 찾기 및 표시하기
이진 영상을 작업 공간으로 읽어 들입니다. 영상을 표시합니다.
BW = imread('text.png');
imshow(BW)
bwconncomp
를 사용하여 연결성분을 계산합니다.
CC = bwconncomp(BW);
labelmatrix
를 사용하여 레이블 행렬을 만듭니다. 각 레이블에는 고유한 숫자형 인덱스가 있습니다.
L = labelmatrix(CC);
레이블 행렬의 최댓값을 구합니다. 이 값은 검출된 객체 수를 나타냅니다. 이 경우에는 88입니다.
numObjects = max(L(:))
numObjects = uint8
88
레이블 행렬을 영상으로 표시합니다. 최대 레이블 값이 uint8
데이터형의 최댓값보다 훨씬 작기 때문에, 레이블의 변별성을 높이기 위해 영상의 표시 범위를 늘립니다.
imshow(L,[])
작은 레이블 값으로 레이블이 지정된 객체들은 잘 안 보입니다. 그뿐만 아니라 레이블 값이 비슷한 객체들을 서로 구별하기도 힘듭니다. 서로 다른 연결성분을 더 쉽게 구별할 수 있도록 label2rgb
를 사용하여 레이블 행렬을 RGB 영상으로 표시하고 레이블의 색 순서를 섞습니다.
imshow(label2rgb(L,'jet','k','shuffle'));
입력 인수
CC
— 연결성분
구조체
연결성분으로, 네 개의 필드를 갖는 구조체로 지정됩니다. bwpropfilt
또는 bwconncomp
함수를 사용하여 연결성분 구조체를 가져올 수 있습니다.
필드 | 설명 |
---|---|
Connectivity | 연결성분(객체)에 대한 연결성 |
ImageSize | 이진 영상 크기 |
NumObjects | 이진 영상의 연결성분(객체) 개수 |
PixelIdxList | 1×NumObjects 셀형 배열. 이 셀형 배열의 k번째 요소는 k번째 객체에 있는 픽셀의 선형 인덱스를 포함하는 벡터입니다. |
출력 인수
L
— 레이블 행렬
음이 아닌 정수로 구성된 행렬
인접 영역의 레이블 행렬로, 음이 아닌 정수로 구성된 행렬로 반환됩니다. 0
으로 레이블이 지정된 픽셀은 배경입니다. 1
로 레이블이 지정된 픽셀이 첫 번째 객체가 되고, 2
로 레이블이 지정된 픽셀이 두 번째 객체가 되는 방식입니다.
L
의 크기는 CC.ImageSize
필드 값에 의해 결정됩니다. L
의 클래스는 연속 영역 수에 따라 다릅니다. 다음 표에 나와 있는 것처럼, labelmatrix
는 객체 수 CC.NumObjects
를 표현할 수 있는 가장 작은 데이터형을 사용합니다.
데이터형 | 범위 |
---|---|
uint8 |
|
uint16 | 256 ≤ |
uint32 | 65536 ≤ |
double |
|
데이터형: double
| uint8
| uint16
| uint32
버전 내역
R2009a에 개발됨
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)