cc2bw
설명
예제
영상을 읽어 들여 표시합니다.
I = imread("blobs.png");
imshow(I)
연결성분 구조체를 만듭니다.
CC = bwconncomp(I);
구조체를 필터링하여 둥근 객체를 유지합니다. 필터링된 영상을 표시합니다.
CC = bwpropfilt(CC,"Circularity",[0.7 1]);
imshow(cc2bw(CC))
구조체를 다시 필터링하여 크기가 큰 객체를 유지합니다. 필터링된 영상을 표시합니다.
CC = bwpropfilt(CC,"Area",[20 Inf]);
imshow(cc2bw(CC))
이진 영상을 읽어 들이고 연결성분을 검출합니다.
BW = imread("text.png");
CC = bwconncomp(BW);각 연결성분의 면적을 측정하고 결과를 테이블로 반환합니다.
p = regionprops("table",CC,"Area");
2번째부터 10번째까지 크기의 연결성분만 포함하는 이진 영상을 만듭니다. 결과를 표시합니다.
[~,idx] = sort(p.Area,"descend");
BWfilt = cc2bw(CC,ObjectsToKeep=idx(2:10));
imshow(BWfilt)
회색조 영상의 쌀알을 읽어 들인 후 영상을 이진 영상으로 변환합니다.
I = imread("rice.png");
BW = imbinarize(I);
imshow(BW)
각 영역의 면적과 경계 상자를 측정합니다.
CC = bwconncomp(BW); stats = regionprops("table",CC,"Area","BoundingBox");
다음 조건에 해당되는 영역을 선택합니다.
50픽셀보다 큰 영역
너비가 15픽셀보다 작고 높이가 20픽셀보다 크거나 같은 경계 상자
area = stats.Area; bbox = stats.BoundingBox; selection = (area > 50) & (bbox(:,3) < 15) & (bbox(:,4) >= 20); BW2 = cc2bw(CC,ObjectsToKeep=selection);
필터링된 영상을 표시합니다.
imshow(BW2)

입력 인수
연결성분(객체)으로, 네 개의 필드를 갖는 구조체로 지정됩니다.
| 필드 | 설명 |
|---|---|
Connectivity | 연결성분에 대한 연결성 |
ImageSize | 이진 영상 크기 |
NumObjects | 이진 영상의 연결성분 개수 |
PixelIdxList | 1×NumObjects 셀형 배열. 이 셀형 배열의 k번째 요소는 k번째 객체에 있는 픽셀들의 선형 인덱스를 포함하는 벡터입니다. |
유지할 객체로, 다음 값 중 하나로 지정됩니다.
양의 정수 또는 양의 정수로 구성된 벡터 — 해당 객체를 유지하거나 인덱스가
objectsToKeep에 포함된 객체를 유지합니다.objectsToKeep의 길이는CC.NumObjects보다 작거나 같습니다.논리형 벡터 — 대응되는
objectsToKeep의 요소가true인 경우 객체를 유지합니다.objectsToKeep의 길이는CC.NumObjects와 동일해야 합니다.
출력 인수
이진 영상으로, CC.ImageSize와 같은 크기의 논리형 배열로 반환됩니다.
데이터형: logical
확장 기능
사용법 관련 참고 및 제한 사항:
cc2bw함수는 C 및 C++ 코드 생성을 지원합니다(MATLAB® Coder™가 필요함). 자세한 내용은 Code Generation for Image Processing 항목을 참조하십시오.cc2bw함수에 대한 코드를 생성하는 경우CC.PixelIdxList는 동종이어야 합니다. 다음 코드는makeHomogeneous(MATLAB Coder) 함수를 사용하여CC.PixelIdxList를 동종으로 만드는 방법을 보여줍니다.CC = bwconncomp(BW); CC2 = bwpropfilt(CC,"Area",10); typeCC = coder.typeof(CC2); typeCC.Fields.PixelIdxList = makeHomogeneous(typeCC.Fields.PixelIdxList); codegen cc2bw -args {typeCC}
래퍼 함수에 대한 코드를 생성하는 경우에는
CC.PixelIdxList를 동종으로 만들 필요가 없습니다. 예를 들어 다음 명령은myFunction이라는 래퍼 함수에 대한 코드를 생성합니다.codegen myFunction -args {BW}
다음은
cc2bw함수에 대한 호출을 포함하는 래퍼 함수myFunction에 대한 샘플 정의입니다.function out = myFunction(BW) %#codegen CC = bwconncomp(BW); CC2 = bwpropfilt(CC,"Area",10); out = cc2bw(CC2); end
버전 내역
R2024a에 개발됨이제 cc2bw 함수는 C 코드 생성을 지원합니다(MATLAB Coder가 필요함).
참고 항목
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)