<DIP, Intensity Transform and Spatial Filtering> Background
- Spatial Filtering의 Intensity Transformation
영상은 기본적으로 2차원으로 x, y좌표는 실제 픽셀의 위치관계를 나타냄.
g(x,y) = T[f(x,y)] //g() = 출력영상, f() = 입력영상
식을 통해 T를 적용하면 밝기값만 달라진 영상이 나오게 됨.
1. Intensity Transformation의 function
>>공간 도메인에서 필터링을 하는이유
: 특정 영상에서 내가 원하는 정보를 추출하는데 그 밝기값이 좋지 않을 때 더 좋은 결과를 얻기 위함.
>>공간 도메인에서 필터링의 목적
: 사람의 눈으로 봤을 때, 추출 가능한 정보가 얼마나 많고 얼마나 잘 구분할 수 있을지 개선하는 것이 가장 큰 목적.
(a) Image Negative 함수 (ex. 유방암 검진)
- 구체적인 혈관 위치를 보기 어려운 경우 밝기값을 반전시켜 혈관의 위치를 더 디테일하게 볼 수 있음.
(b) Log Transformations 함수
- 주로 scale이 몰려있는 경우 사용.
- 확대와 같은 역할.
- log를 취해 range를 변환하여 더 많은 정보를 추출함.
(c) Power-law(Gamma) Transformation 함수
- Gamma 값에 따라 mapping함수의 커브가 변함.
- Gamma 값이 하나의 값이 아닌 여러가지 값을 사용하며 실제 영상의 밝기 값이 그대로 나올 수 있도록 보정적용.
ex) TV 브라운관 사용시 의도한 전파 강도와 다른 전파가 전달됨. 의도한 결과를 위해 커브를 다르게 해서 매핑.
- Gamma 값이 작을 수록 밝게 나오는데 원하지 않는 부분도 밝아질 수 있음.
=> 특정 밝기 값이 좋은게 아님.
=> 사람이 눈으로 봤을 때 없던 정보를 찾을 수 있거나 비교할 수 있게 하는 것이 목적.
(d) Piecewise-Linear Transformation Functions [Contrast stretching]
- 적용가능하기 위해선, 밝기 값을 변화하고자 하는 영상에서 어느 특정 부위에 밝기값이 몰려있는지 알아야 함.
ex) contrast stretching 함수 적용 => 열매에 있는 점들을 더 잘 볼 수 있게 됨.
+ thresholding function 적용 => 한 기준점을 중심으로 어두운 부분은 완전 어둡게, 밝은 부분은 완전 밝게.
- Contrast-stretching
: 특정 구간안에 있는 밝기 값의 범위를 넓혀줌. 특정 구간에서는 급속도로 밝기 값이 변화하고 특정 밝기 값을 넘어가면 그대로 유지됨.
- Thresholding function
: 특정 구잔을 넘어야 최대 밝기값이 나옴.
(e) Piecewise-Linear Transformation Functions [Intensity-level slicing]
- 먼저 밝기 정보를 알고 있던 경우 가능
- 밝기 정보를 안다면 특정 정보를 추출해 낼 수 있는데, 변환함수를 적용해서 특정 구간을 추출함.
- 다른 부분은 똑같이 하고 원하는 부분만 밝기를 높이는 것도 가능.
- 사람이 인지하기 힘든 특정 Gap에 있던 부분들을 확 높여줌으로써 구분할 경우 유용하게 사용됨.
(f) Piecewise-Linear Transformation Functions [Bit-plane slicing]
- 영상의 한 화소당 8bit이므로 8bit plane으로 나눔.
- 가장 높은 구간 = MSB(Bit plane 8), 가장 낮은 구간 = LSB(Bit plane 1)
- bit plane이 낮을수록 변화의 범위가 좁음.
- bit plane이 MSB에 가까워질수록 다른 정보가 없어도 원본 영상과 가장 유사함.
- 7, 8 bit plane구간만 합쳐져도 충분히 좋은 영상이며 5,6,7,8이 있다면 거의 원본과 유사.
=> 실제 전체 정보를 사용하지 못하는 경우나, 빠른 처리를 원하는 경우 유용함.