이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

이진 마스크 만들기

Image Processing Toolbox™는 이진 마스크를 생성하기 위한 네 가지 방법을 지원합니다. 이진 마스크는 원본 영상의 관심 영역(ROI)을 정의합니다. 값이 1인 마스크 픽셀은 영상 픽셀이 ROI에 속함을 나타냅니다. 값이 0인 마스크 픽셀은 영상 픽셀이 배경에 속함을 나타냅니다.

이진 영상은 필터링하려는 영상과 크기만 같으면 마스크로 사용할 수 있습니다.

회색조 영상에서 이진 마스크 만들기

회색조 영상에서 각 픽셀을 관심 영역에 속하는 픽셀과 배경에 속하는 픽셀로 분류하여 마스크를 만들 수 있습니다. 예를 들어, 회색조 영상 I에서 값이 0.5보다 큰 픽셀만 필터링하려고 합니다. 이를 위한 마스크는 다음 명령을 사용하여 만들 수 있습니다.

BW = (I > 0.5)

ROI 함수를 사용하여 이진 마스크 만들기

이 예제에서는 drawcircle 같은 ROI 생성 함수와 마스크 생성 함수 createMask를 함께 사용하여 이진 마스크를 만드는 방법을 보여줍니다.

영상을 작업 공간으로 읽어 들인 후 이를 표시합니다.

img = imread('pout.tif');
h_im = imshow(img);

ROI 생성 함수 중 하나를 사용하여 영상에 대한 ROI를 만듭니다.

circ = drawcircle('Center',[113,66],'Radius',60);

createMask를 사용하여 ROI에서 이진 마스크를 만듭니다. createMask 함수는 입력 영상과 크기가 같은 이진 영상을 반환합니다. ROI 내부의 픽셀은 1로 설정되어 있고 외부의 픽셀 값은 0으로 설정되어 있습니다.

BW = createMask(circ);
imshow(BW)

색 값을 기반으로 이진 마스크 만들기

roicolor 함수를 사용하여 색 또는 명암 범위를 기반으로 ROI를 정의할 수 있습니다.

연결된 영상 없이 이진 마스크 만들기

poly2mask 함수를 사용하여 연결된 영상 없이 이진 마스크를 만들 수 있습니다. createMask 메서드와 달리 poly2mask에는 입력 영상이 필요하지 않습니다. ROI의 꼭짓점을 두 벡터에 지정하고 반환될 이진 마스크의 크기를 지정합니다. 예를 들어, 다음은 pout.tif 영상에서 ROI를 필터링하는 데 사용할 수 있는 이진 마스크를 만듭니다.

c = [123 123 170 170]; 
r = [160 210 210 160];
m = 291;  % height of pout image
n = 240;  % width of pout image
BW = poly2mask(c,r,m,n);
imshow(BW)