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

imclose

영상에 모폴로지 닫기 연산 수행

설명

예제

J = imclose(I,SE)는 회색조 영상 또는 이진 영상 I에 모폴로지 닫기 연산을 수행하고, 이 모폴로지 닫기가 수행된 영상 J를 반환합니다. SEstrel 함수 또는 offsetstrel 함수로 반환되는 단일 구조 요소 객체입니다. 모폴로지 닫기 연산은 동일한 구조 요소에 팽창을 수행한 후 침식을 수행하는 연산입니다.

선택적으로 GPU를 사용하여 모폴로지 닫기를 수행할 수 있습니다(Parallel Computing Toolbox™가 필요함). 자세한 내용은 GPU를 사용한 영상 처리 항목을 참조하십시오.

J = imclose(I,nhood)는 영상 I에 모폴로지 닫기 연산을 수행합니다. 여기서 nhood는 구조 요소 이웃을 지정하는, 0과 1로 구성된 행렬입니다. 이는 구문 imclose(I,strel(nhood))와 동일합니다. imclose 함수는 floor((size(nhood)+1)/2)를 통해 이웃의 중앙 요소를 파악합니다.

예제

모두 축소

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

originalBW = imread('circles.png');
imshow(originalBW);

원판 모양 구조 요소를 만듭니다. 원판 구조 요소를 사용하여 객체의 원형 특성을 보존합니다. 가장 큰 공백을 메울 수 있도록 반지름을 10픽셀로 지정합니다.

se = strel('disk',10);

영상에 모폴로지 닫기 연산을 수행합니다.

closeBW = imclose(originalBW,se);
figure, imshow(closeBW)

모폴로지 닫기를 사용하여 원 사이에 있는 공백을 메우고 바깥쪽 경계를 매끄럽게 하여 영상의 원들을 서로 결합시킵니다.

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

originalBW = imread('circles.png');
imshow(originalBW);

원판 모양 구조 요소를 만듭니다. 원판 구조 요소를 사용하여 객체의 원형 특성을 보존합니다. 가장 큰 공백을 메울 수 있도록 반지름을 10픽셀로 지정합니다.

se = strel('disk',10);

GPU에서 영상에 모폴로지 닫기 연산을 수행합니다.

closeBW = imclose(gpuArray(originalBW),se);
figure
imshow(closeBW)

입력 인수

모두 축소

입력 영상으로, 임의 차원의 회색조 영상 또는 이진 영상으로 지정됩니다.

GPU를 사용하여 모폴로지 닫기를 수행하려면 Iuint8형 또는 logical형의 영상을 포함하는 gpuArray로 지정하십시오.

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

구조 요소로, 단일 strel 객체 또는 offsetstrel 객체로 지정됩니다. 영상 I의 데이터형이 logical인 경우 구조 요소는 평탄해야 합니다.

GPU를 사용하여 모폴로지 닫기를 수행할 경우 SE는 평탄해야 하고 2차원이어야 합니다.

구조 요소 이웃으로, 0과 1로 구성된 행렬로 지정됩니다.

예: [0 1 0; 1 1 1; 0 1 0]

출력 인수

모두 축소

모폴로지 닫기가 수행된 영상으로, 회색조 영상 또는 이진 영상으로 반환됩니다. J는 입력 영상 I와 동일한 클래스를 갖습니다.

GPU를 사용하여 모폴로지 닫기를 수행하면 JI와 클래스가 같은 회색조 영상 또는 이진 영상을 포함하는 gpuArray로 반환됩니다.

호환성 관련 고려 사항

모두 확장

R2017a에서 동작이 변경됨

확장 기능

참고 항목

함수

객체

R2006a 이전에 개발됨