Negative transformation
Image negatives
s = T(r) = L-1-r (where 0 ≤ r ≤ L-1)
1)
기존에 존재하는 API를 이용해서 구현한 코드
2)
이미지 색상 반전을 위해서, 255 - 현재 픽셀값을 해주었다.
픽셀 값들에 255를 빼주면 0에 가까웠던 어두운 픽셀값은 밝아지고 255에 가까웠던 밝은 픽셀값은 어두워진다.
기존의 API를 이용한 코드와 같은 결과값이 나왔다.
Log, inverse-log transformation
c = 1 일 때,
c = 2 일 때,
Log transform은 어두운 부분을 스트레칭 시켜준다.
그래서 어두운 영역에 뭐가 있는지 보고 싶을 때는 이미지를 log transform을 시켜주면 된다.
반대로 Inverse log transform은 이미지를 어둡게 만들어준다.
s = c * log ( 1 + x )
Log Transform
c * log ( x + 1 ) * ( 255 / log(256) )
- 255 / log(256) to scale the values between 0 and 255
- log(0)이 되지않도록 +1
Inverse Log Transform
c * ( e^( x * log(256) / 255)) - 1
power-law(gamma) transformations
y = cxγ
origin / γ = 2.2 / γ = 0.3
감마 보정은 감마값이 크면클수록 inverse log transform과 같은 효과가 나고
작으면 작을수록 log transform 효과가 크다
각 픽셀값들을 255로 줄여서 변환을 해주고 다시 255를 곱해줘서 스케일링 시켜준다.
origin / power / root
Histogram equalization
히스토그램 평활화
히스토그램이 항상 1의 값을 가질 수 있도록 히스토그램을 평평하게 만들어주기.
먼저 기존에 있는 equalizeHist 함수를 사용해서 구현했다.
후에 직접 계산하는 코드로 작성한 것과 동일한 결과값이 나왔다.
구한 히스토그램 / 누적 히스토그램 / 평활화된 히스토그램
'컴퓨터 그래픽스 > 영상처리' 카테고리의 다른 글
[OpenCV] 동전 영상에서 서로 다른 동전들의 개수와 위치를 파악하기 (0) | 2021.05.24 |
---|---|
[OpenCV] Inverse FFT (LPF, HPF, HFEF) (0) | 2021.05.23 |
[OpenCV] Filters (LPF, HPF, HFEF) (0) | 2021.05.23 |
[OpenCV] 2D FFT (Fast Fourier Transform) (1) | 2021.05.23 |
[OpenCV] spatial-domain filter (0) | 2021.05.23 |