주요 콘텐츠

cc2bw

연결성분을 이진 영상으로 변환

R2024a 이후

    설명

    BW = cc2bw(CC)CC에 있는 연결성분(객체)에서 이진 영상을 생성합니다.

    예제

    BW = cc2bw(CC,ObjectsToKeep=objectsToKeep)objectsToKeep으로 지정된 연결성분의 서브셋에서 이진 영상을 생성합니다.

    예제

    예제

    모두 축소

    영상을 읽어 들여 표시합니다.

    I = imread("blobs.png");
    imshow(I)

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

    연결성분 구조체를 만듭니다.

    CC = bwconncomp(I);

    구조체를 필터링하여 둥근 객체를 유지합니다. 필터링된 영상을 표시합니다.

    CC = bwpropfilt(CC,"Circularity",[0.7 1]);
    imshow(cc2bw(CC))

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

    구조체를 다시 필터링하여 크기가 큰 객체를 유지합니다. 필터링된 영상을 표시합니다.

    CC = bwpropfilt(CC,"Area",[20 Inf]);
    imshow(cc2bw(CC))

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

    이진 영상을 읽어 들이고 연결성분을 검출합니다.

    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)

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

    회색조 영상의 쌀알을 읽어 들인 후 영상을 이진 영상으로 변환합니다.

    I = imread("rice.png");
    BW = imbinarize(I);
    imshow(BW)

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

    각 영역의 면적과 경계 상자를 측정합니다.

    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)

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

    입력 인수

    모두 축소

    연결성분(객체)으로, 네 개의 필드를 갖는 구조체로 지정됩니다.

    필드설명
    Connectivity연결성분에 대한 연결성
    ImageSize이진 영상 크기
    NumObjects이진 영상의 연결성분 개수
    PixelIdxListNumObjects 셀형 배열. 이 셀형 배열의 k번째 요소는 k번째 객체에 있는 픽셀들의 선형 인덱스를 포함하는 벡터입니다.

    유지할 객체로, 다음 값 중 하나로 지정됩니다.

    • 양의 정수 또는 양의 정수로 구성된 벡터 — 해당 객체를 유지하거나 인덱스가 objectsToKeep에 포함된 객체를 유지합니다. objectsToKeep의 길이는 CC.NumObjects보다 작거나 같습니다.

    • 논리형 벡터 — 대응되는 objectsToKeep의 요소가 true인 경우 객체를 유지합니다. objectsToKeep의 길이는 CC.NumObjects와 동일해야 합니다.

    출력 인수

    모두 축소

    이진 영상으로, CC.ImageSize와 같은 크기의 논리형 배열로 반환됩니다.

    데이터형: logical

    확장 기능

    모두 확장

    버전 내역

    R2024a에 개발됨

    모두 확장