모폴로지의 단어 뜻은 형태학으로 어떤 형체를 다루는 것을 의미한다.
사람이 보기 좋게 하는 것이 아니라 컴퓨터가 주로 사용하기 때문에 컴퓨터 비전 영역이다.

2가지 구성

Function

input signal로 영상 이미지라고 생각하면 된다.

Set

특별한 도메인으로 filter라고 생각하면 된다.

2가지 연산

Erosion

Median filter에서는 중간값을 사용한다면, Erosion은 가장 작은 값을 사용하는 것이다.
단어의 뜻을 보면 침식이라는 뜻으로 밝은 색을 기준으로 침식된다는 뜻이다.

Erosion

그렇기 때문에 수식에 보면 min값을 사용하고 있다.

Erosion 2진 영상에 대한 AND연산

보통 이진 데이터를 사용하기 때문에 하나라도 0이면 0으로 AND연산으로 처리 가능하다.

Dilation

Erosion과 반대로 가장 큰 값을 사용하는 것이다.

Dilation
Dilation 2진 영상에 대한 OR연산

Erosion에는 f(m+i, n+j)
Dilation에는 f(m-i, n-j)

f() 안에는 좌표값을 넣는 것으로 Erosion에는 +, Dilation에는 -를 넣는다.
filter가 3개 짜리 라면 [1, 2 ,3] 에서 Erosion이 3번째 값을 사용했다면, Dilation에는 1번째 값을 사용한다는 뜻이다. 그렇게 해야 Erosion한 뒤 Dilation하면 영상이 어느정도 돌아오기 때문이다.
그러나 일반적으로 return할때 중간값을 return 하기 때문에 +, – 신경을 안써도 된다.

원본 영상
Erosion 영상
Dilation 영상

Erosion은 min값이기 때문에 작은 값(검은색)이 커지고, 흰색은 작아졌다. 밝은색인 흰색을 기준으로 침식되었다.
Dilation은 반대로 max값이기 때문에 큰 값(흰색)이 커진다.
결과값을 중간에 쓰기 때문에 원 반지름 만큼 Erotion, Dilation되는 것을 볼 수 있다.

filter
원본 영상
Dilation 영상
Erosion 영상

원본 영상에서 Dilation영상이 된 후, 다시 원본 영상으로 복구가 가능할까?

이 질문에 대한 답은 “불가능” 이다.

끊어진 부분에 대해 연결되었을 때 다시 Erosion하면 끊어지지 않고 뼈가 남게 된다.
만약 다시 끊어지게 하려면, Dilation으로 붙였을 때 붙은 부분안에 검은색 점이 조금이라도 있어야 한다.
seed가 있어야 끊어질 수 있다.

2가지 응용 연산

Opening

영상에서 붙어 있는 부분을 떨어트림

Closing

영상에서 떨어진 부분을 다시 붙임

원본 영상
Closing 연산

구멍 있는 부분 (떨어져있는 부분) 이 서로 붙어진다.
그리고 filter인 원 크기가 작은 원보다 커야 되고, 큰 원보다는 작아야 저런 영상을 얻을 수 있다.
filter를 설계할 때 고려해야 될 부분이다.