(2) Image Processing

CJY·2023년 4월 3일
0

멀티미디어

목록 보기
5/6

Intensity Transformations

픽셀의 좌표값은 그대로 유지한 채 픽셀의 value를 변환하는 것이다.
기존값을 rr이라고 했을 때 ss로 바꾸는 식

s=T(r)s=T(r)


이미지 출처:https://slideplayer.com/slide/5291750/

왼쪽 그래프는 Contrast stretching으로 회색과 같이 가운데 값의 경계를 뚜렷하게 해주는 효과가 있다.
오른쪽 그래프는 Thresholding으로 일정값을 기준으로 흑과 백으로 나뉘는 효과가 있다.

Image Negatives

s=L1rs=L-1-r

intensity의 범위는 [0,L1][0,L-1]이다. 식에서 보이는 것처럼 밝은 값을 어두운 값으로, 어두운 값을 밝은 값으로 변환해주는 효과가 있다.

Log Transformation

앞서 sound 부분에서도 나왔던 로그 함수를 이용한 변환이다. 로그 함수의 특성상 작은 값들은 민감하게 변환시켜주고 큰 값들은 비교적 둔하게 변환시켜준다.

s=clog(l+r)s=c\,log{(l+r)}


오른쪽 그래프와 함께 보면 이해가 쉬울 것이다. 앞에서 언급한 Image negative도 살펴볼 수 있다.
만약 Inverse log transformation을 한다면 반대로 밝은값들의 경계가 뚜렷해지겠다.

Gamma Transformation

로그와 비슷하지만 좀 더 세밀하게 값을 조정할 수 있다.

s=c(r+ϵ)γs=c(r+\epsilon)^\gamma

ccγ\gamma는 상수이며 ϵ\epsilon이 offset이다.

감마값을 변환시켜 특정 범위의 값들의 경계를 더 뚜렷하게 할 수 있다.

Gamma Correction

모니터(브라운관)나 프린터들이 같은 공장에서 만들어지더라도 표현되는 색감이 다를 수 있다. 실제 영상보다 더 어둡거나 더 밝게 표현될 수 있다는 뜻이다. 이런 점을 고려하여 원본 영상을 gamma correction을 통해 좀 더 밝게 혹은 좀 더 어둡게 값을 변환시킨다면 모니터나 프린터에 표현되는 값을 조정할 수 있다.

Piecewise-Linear Transformations

linear한 변환을 의미한다.

Contrast Stretching

앞에서 살펴봤듯이 중간의 애매한 밝기를 좀 더 뚜렷하게 만들어 줄 수 있다.

위 그래프를 사용하면 흑백사진의 경우 회색으로 표현됐지만 그 값들의 차가 적어 경계가 모호한 영상을 좀 더 뚜렷하게 구분해줄 수 있다.

Intensity level slicing(or Thresholding)

특정 범위의 값들만 밝게 나타내는 효과가 있다.

위 그래프처럼 극단적으로 [A,B]의 밝기를 가진 픽셀만 밝게하고 나머지 픽셀은 어둡게 표현할 수 있다.

이 방법은 의료계에서도 사용할 수 있다. 우리의 혈관만 나타난 영상을 추리고 싶을 때 원본 영상에서 혈관 이외의 장기와 혈관의 밝기가 다른 것을 확인한다면 혈관의 밝기 범위에 대해 Thresholding해주면 된다.

Bit-plane slicing

  • 픽셀의 중요도를 파악할 수 있다.
  • 이미지 압축(image compression)에 사용될 수 있다.

예를 들어, 각 픽셀을 8bit로 표현한다고 했을 때 픽셀의 특정 bit의 값으로 밝기를 표현하면 다음과 같다.

첫 번째는 원본 영상, 그 이후로 LSB부터 뽑아낸 것이다. 대체로 LSB일수록 noise처럼 나타나는 것을 확인할 수 있다. 참고로 컴퓨터보안 수업에서 나온 Steganography는 이런 영상의 특성을 활용한 것이다. LSB의 값이 변해도 원본 영상에 별다른 차이를 못 느끼기 때문에 LSB에 원하는 데이터를 삽입하는 것이다.

Histogram Processing

4가지 기본 영상 종류가 있다.

  • 어둡게
  • 밝게
  • 좁게 분포
  • 넓게 분포

밝기 대비 픽셀의 수를 통해 히스토그램으로 만들어서 그 분포를 위 4가지 종류에 맞춰 값을 변환하는 것이다. 말보다는 예시를 통해 보면 알기 쉽다.

다음과 같이 픽셀의 밝기에 따라 개수를 히스토그램으로 나타낸다.

이 값들을 이용해 4가지 종류로 분포시킬 수 있다.

정리

기본적인 image processing 중 밝기 변환과 히스토그램 처리에 대해 알아봤다. 평소에 궁금했던 어두운 영상을 뚜렷하게 만드는 원리가 생각보다 간단한 원리임을 체감했다. 소리에 이어 영상에서도 sigmoid함수와 비슷한 함수를 자주 사용하고 log의 특성이 생각보다 자주 사용됨을 알았다. 다음 시간에는 image operation과 밝기는 그대로 유지하되 픽셀의 좌표값들을 바꾸는 영상 변환에 대해 알아볼 예정이다.

profile
열심히 성장 중인 백엔드

0개의 댓글