Main Content

imtophat

설명

예제

J = imtophat(I,SE)는 구조 요소 SE를 사용하여 회색조 또는 이진 영상 I에 top-hat 모폴로지 필터링을 수행합니다. Top-hat 필터링은 (imopen을 사용하여) 영상의 모폴로지 열기를 계산한 다음 그 결과를 원래 영상에서 뺍니다.

J = imtophat(I,nhood)는 영상 I에 대해 top-hat 필터링을 수행합니다. 여기서 nhood는 구조 요소 이웃을 지정하는, 01로 구성된 행렬입니다.

이 구문은 imtophat(I,strel(nhood))와 동일합니다.

예제

모두 축소

이 예제에서는 원판 모양의 구조 요소로 top-hat 필터링을 수행하여 어두운 배경의 영상에서 균일하지 않은 배경 조도를 제거하는 방법을 보여줍니다.

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

original = imread('rice.png');
imshow(original)

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

구조 요소를 만듭니다.

se = strel('disk',12);

top-hat 필터링을 수행하고 영상을 표시합니다.

tophatFiltered = imtophat(original,se);
figure
imshow(tophatFiltered)

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

결과의 가시성을 높이려면 imadjust를 사용하십시오.

contrastAdjusted = imadjust(tophatFiltered);
figure
imshow(contrastAdjusted)

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

입력 인수

모두 축소

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

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

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

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

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

출력 인수

모두 축소

Top-hat 필터링이 수행된 영상으로, 회색조 영상 또는 이진 영상으로 반환됩니다. J는 입력 영상 I와 동일한 데이터형을 갖습니다.

  • 영상 I의 차원 수가 구조 요소의 차원 수보다 높을 경우, imtophat 함수는 동일한 모폴로지 열기를 더 높은 차원을 따라 모든 평면에 적용합니다.

    이 동작을 사용하여 RGB 영상에 top-hat 필터링을 수행할 수 있습니다. RGB 영상에 대해 2차원 구조 요소를 지정하여 각 색 채널에서 개별적으로 연산을 수행합니다.

  • 구조 요소 이웃을 지정하면 imtophatfloor((size(nhood)+1)/2)를 통해 nhood의 중앙 요소를 결정합니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

함수

객체