Main Content

모폴로지 연산의 유형

모폴로지는 형태에 따라 영상을 처리하는 광범위한 영상 처리 연산 집합입니다. 모폴로지 연산은 입력 영상에 구조 요소를 적용하여 같은 크기의 출력 영상을 생성합니다. 모폴로지 연산에서 출력 영상의 각 픽셀 값은 입력 영상의 대응하는 픽셀과 이웃 픽셀들을 비교한 결과를 기반으로 합니다.

모폴로지 팽창과 모폴로지 침식

가장 기본적인 모폴로지 연산은 팽창과 침식입니다. 팽창은 영상에서 객체의 경계선에 픽셀을 추가하는 반면, 침식은 객체 경계선에서 픽셀을 제거합니다. 영상의 객체에 추가되거나 영상의 객체에서 제거되는 픽셀 수는 영상을 처리할 때 사용한 구조 요소의 크기와 형태에 따라 달라집니다. 모폴로지 팽창 및 침식 연산에서 출력 영상의 각 픽셀의 상태는 입력 영상의 대응하는 픽셀과 그 이웃 픽셀에 규칙을 적용하여 결정됩니다. 픽셀을 처리할 때 사용되는 규칙은 연산을 팽창 또는 침식으로 정의합니다. 다음 표에 팽창과 침식의 규칙이 나와 있습니다.

팽창 및 침식의 규칙

연산

규칙

예(원본 영상과 처리된 영상)

팽창

이웃에 있는 모든 픽셀 중 최댓값이 출력 픽셀의 값이 됩니다. 이진 영상의 경우, 값이 1인 이웃 픽셀이 하나라도 있으면 픽셀은 1로 설정됩니다.

모폴로지 팽창은 객체를 시각적으로 더 두드러지게 만들고 객체의 작은 구멍을 메웁니다. 선은 더 두껍게, 채워진 형태는 더 크게 표시됩니다.

Effect of dilation on a binary image of geometrical shapes and lines.

침식

이웃에 있는 모든 픽셀 중 최솟값이 출력 픽셀의 값이 됩니다. 이진 영상의 경우, 값이 0인 이웃 픽셀이 하나라도 있으면 픽셀은 0으로 설정됩니다.

모폴로지 침식은 부동 픽셀과 가는 선을 제거하고 중요한 객체만 남깁니다. 남은 선은 더 얇게, 형태는 더 작게 표시됩니다.

Effect of erosion on a binary image of geometrical shapes and lines

다음 그림에서는 이진 영상의 팽창을 보여줍니다. 구조 요소가 동그라미 쳐진 관심 픽셀을 중심으로 이웃을 정의합니다. 팽창 함수는 이웃에 있는 픽셀에 적합한 규칙을 적용한 후 출력 영상의 대응하는 픽셀에 값을 할당합니다. 이 그림에서 모폴로지 팽창 함수는 출력 픽셀의 값을 1로 설정했습니다. 구조 요소에 의해 정의된 이웃 픽셀 중 한 요소가 켜져 있기 때문입니다. 자세한 내용은 Structuring Elements 항목을 참조하십시오.

이진 영상의 모폴로지 팽창

Dilation of a binary image using a horizontal linear structuring element of length three

다음 그림에서는 회색조 영상의 모폴로지 팽창 처리를 보여줍니다. 팽창 함수는 동그라미 쳐진 관심 픽셀을 중심으로 한 이웃에 규칙을 적용합니다. 출력 영상의 대응하는 픽셀 값은 이웃의 모든 픽셀 중 가장 큰 값으로 할당됩니다. 이 그림에서 출력 픽셀의 값은 16입니다. 구조 요소에 의해 정의된 이웃에서 가장 큰 값이기 때문입니다.

회색조 영상의 모폴로지 팽창

Dilation of a grayscale image using a horizontal linear structuring element of length three

팽창과 침식을 기반으로 하는 연산

영상 처리 연산을 구현할 때는 팽창과 침식을 조합해서 사용하는 경우가 많습니다. 예를 들어, 영상에 대한 모폴로지 열기는 두 연산에서 모두 동일한 구조 요소를 사용하여 침식을 수행한 후 팽창을 수행하는 것으로 정의됩니다. 팽창과 침식을 조합해서 사용하면 영상에서 작은 객체를 제거하고 큰 객체의 테두리를 매끄럽게 처리할 수 있습니다.

다음 표에는 이 툴박스에서 제공하는 팽창 및 침식 기반의 일반적인 모폴로지 연산 함수가 나열되어 있습니다.

함수

모폴로지 정의

예(원본 영상과 처리된 영상)

imopen

모폴로지 열기를 수행합니다. 열기 연산은 영상을 침식시킨 다음 침식된 영상을 팽창시키며, 이때 침식과 팽창 둘 다에 동일한 구조 요소를 사용합니다.

모폴로지 열기는 영상에서 작은 객체와 가는 선을 제거하고 큰 객체의 크기와 모양은 보존하고자 할 때 유용합니다. 예제는 Use Morphological Opening to Extract Large Image Features 항목을 참조하십시오.

Output of morphological opening applied to a binary image of geometrical shapes and lines

imclose

모폴로지 닫기를 수행합니다. 닫기 연산은 영상을 팽창시킨 다음 팽창된 영상을 침식시키며, 이때 팽창과 침식 둘 다에 동일한 구조 요소를 사용합니다.

모폴로지 닫기는 영상에서 작은 구멍은 메우고 큰 구멍과 객체의 크기와 모양은 보존하고자 할 때 유용합니다.

Output of morphological closing applied to a binary image of thirteen touching circles

bwskel

이진 영상에서 객체를 골격화합니다. 골격화 과정은 구멍이나 분기 같은 기본적인 구조를 그대로 유지하면서 모든 객체를 중심선 형태로 침식시킵니다.

Output of morphological skeletonization applied to a binary image of thirteen touching circles

bwperim

이진 영상에서 객체의 둘레를 찾습니다. 어느 한 픽셀이 둘레에 속하려면 그 픽셀은 0이 아니면서 적어도 하나 이상의 다른 0값의 픽셀과 연결되어 있어야 합니다. 따라서 내부 구멍의 경계가 객체 둘레의 일부로 간주됩니다.

Perimeter image generated for a binary image of thirteen touching circles.

bwhitmiss

이진 적중-비적중 변환을 수행합니다. 적중-비적중 변환은 이진 영상에서 그 이웃이 하나의 구조 요소 모양과는 일치하면서 이 구조 요소와 서로소인 또 다른 구조 요소 모양과는 일치하지 않을 때 해당 픽셀을 보존합니다.

적중-비적중 변환은 영상에서 패턴을 검출하는 데 사용할 수 있습니다.

Output of the hit-miss transform applied to a binary image of thirteen touching circles.

이 예에서는 중앙의 위와 오른쪽에 이웃이 있는 하나의 구조 요소와 중앙의 아래와 왼쪽에 이웃이 있는 두 번째 구조 요소를 사용합니다. 이 변환은 위와 오른쪽에만 이웃이 있는 픽셀을 보존합니다.

imtophat

top-hat 모폴로지 변환을 수행합니다. top-hat 변환은 영상에 열기 연산을 수행한 다음 그 영상을 원본 영상에서 뺍니다.

top-hat 변환은 조도가 균일하지 않은 회색조 영상의 대비를 향상하는 데 사용할 수 있습니다. 이 변환은 영상에서 작고 밝은 객체를 분리할 수도 있습니다.

Output of the top-hat transform, applied to a grayscale image of grains of rice against a darker background

imbothat

bottom-hat 모폴로지 변환을 수행합니다. bottom-hat 변환은 영상에 닫기 연산을 수행한 다음 그 영상에서 원본 영상을 뺍니다.

bottom-hat 변환은 이웃에 있는 다른 픽셀보다 더 어두운 픽셀을 분리합니다. 따라서 이 변환은 회색조 영상에서 명암의 저점을 찾는 데 사용할 수 있습니다.

Output of the bottom-hat transform, applied to a grayscale image of the surface of the moon

참고 항목

| | |

관련 항목

외부 웹사이트