Search

Point Process

링크
Category
Keywords
상위 개념
하위 개념
속성
Subcategory
날짜
공간영역은 압축률이 2~3배지만 많은 영역을 쉽게 처리할 수 있는 장점이 있다.
반면 주파수 영역은 압축률이 100배까지 가능하다.
Point Process에서 출력 값은 오직 (x,y)에서의 value만 중요하다. 좌표는 노상관
s=T(r)s = T(r)
r : gray level of f(x, y)
s : gray level of g(x, y)
point processing의 다양한 기법을 아래에 소개.

1. Arithmetic Operations

사칙연산임
Addition, subtraction : 더하고 빼는 연산은 밝기를 조정
g(x, y) = f(x, y) + c
Multiplication, division : 곱셈 나눗셈은 대비를 조정
g(x, y) = a * f(x, y)
문제점
+ : value 최대값을 넘어갈 수 있음.
- : value 최소값보다 낮아질 수 있음.
x : 역시 최대값 넘길 수 있음
→ 해결책은 Clamping 0-255범위로 조정해주기

2. Logical Operation

이건 clamping이 필요 없다.
if f(x,y) = c then g(x,y)=0
else g(x,y) = f(x,y)
generate cursor
extracts certain value in img
Pseudo-color img processing : 흑백 이미지를 특정 컬러 이미지로 변환시 (CAM?)

3. Look-up table : LUT

1-D array : 입출력 값 mapping
index - 현재 픽셀 값
output - 새로운 픽셀 값
SW, HW 다 편하게 적용 가능
Graphical LUT
x축 : index (input)
y축 : LUT output
transfer func. : LUT programming
ex : gamma correction

Gamma correction

CRT 기기 (브라운관..)의 출력이 비선형적인 특성을 가져서 이를 보정하기 위해 적용.
이뿐만 아니라 인간의 시각이 비선형적으로 대응하기 때문에 사용함. (feat. Weber’s law)
이런 특징으로는 위의 이미지에서 어두운 부분보다 밝은 부분이 더 넓어 보인다는 특징이 있음.
감마 보정을 해주지 않으면 대비가 더 높아짐.
response curve : power func
low voltage region : darker than intended
gamma correction : the process used to correct this response
intensity-to-voltage with V(input voltage), L(luminance)
inverse réponse curve는 카메라 시스템에 적용된다.
Gamma > 1 : Darker img
CRT 특징
Gamma = 1 : normal img
final display img
Gamma < 1 : Brighter img
의도적으로 카메라의 특성을 변환
감마 보정을 잘못했을 경우 의도치 않은 색의 변화가 일어날 수 있다.
CRT, PDP, LCD 등 각 장치는 각기 다른 감마 값을 가지고 있음.

4. Histogram

도수분포를 나타내는 막대 그래프
이미지 처리에선 intensity의 빈도를 나타내는 용도로 사용 가능.
X축 : possible intensity value
Y축 : 해당 intensity 값의 빈도수
ex : 64x64, 256 level img
Histogram normalization
히스토그램에서는 이미지의 대비 정보를 얻을 수도 있다.
Dark img → histogram이 왼쪽으로 치우쳐이씅ㅁ
Bright img → 오른쪽으로 치우쳐있음
Narrow histogram → contrast가 낮음
Wide histogram → contrast가 높음
+ 연산 → H 오른쪽으로 이동
- 연산 → H 왼쪽으로 이동
x 연산 → wider H
/ 연산 → narrower H
color img는 RGB 따로 histogram 생성 가능

CDF : Cumulative Distribution Function : 누적분포함수

확률밀도함수를 적분한 값.
p(w) ≥ 0 이기 때문에 T(r)그래프는 감소하지 않는다. 0이면 x축평행
0 ≤ T(r) ≤ 1 , 0≤r≤1
T(1) = 1
일대일 함수가 아니여서 역함수 생성X (가능한 경우도 있음)
Dark img → 위로 볼록한 CDF
이는 img를 밝게 해주는 LUT로 사용 가능.
Bright img → 아래로 볼록한 CDF
img를 어둡게 해주는 LUT로 사용 가능

Histogram Equalization : HE

Original histogram을 redistribution하는 것
이를 통해 대비를 극대화 시킬 수 있다.
1.
원본 HIstogram 계산
2.
Normalize sum of histogram : CDF 계산 후 이미지 크기로 나눠주셈.
3.
Transform using CDF : 2번 함수에 넣고 255 곱해주기
intensity 값이 크면 wider하게 퍼지고 작으면 narrow하게 퍼진다.
HE 특징
자동으로 대비를 늘려주는 기법
최대 대비까지 늘려줄 수 있음
어두운 부분의 fine detail에서도 잘 작동된다.
밝기를 바꿀 수는 없고 그 분포를 바꾸는 것이다.
항상 좋은 것은 아니다. 퀄리티가 떨어질 수도 있음.
안좋아지는 것의 예시

Histogram Specification : HS

이미지를 특정 histogram을 따르는 이미지로 변환
대비를 조정해서 이미지를 더 밝거나 어둡게 할 수 있다.
Input : image, desired histogram
HE + Inverse HE
Histogram Matching이라고도 부른다.
1.
Histogram 을 계산
2.
Normalized CDF를 구한다. s=T(r)=0rpr(w)dws = T(r) = \int\limits_0^r p_r(w)dw
3.
원하는 normalized CDF인 G(z) 구해서 G1(z)G^{-1}(z)를 구한다. v=G(z)=0zpr(w)dwv = G(z) = \int\limits_0^z p_r(w)dw
4.
2,3번에서 구한 값을 계산한다. z=G1(s)z = G^{-1}(s)z=G1[T(r)] z = G^{-1}[T(r)]

Contrast Stretching

contrast=highlowhigh+lowcontrast = \frac{high - low}{high + low}
모든 범위에 값이 있게 histogram을 늘려주는 것.
Basic :
newpixel=oldpixellowhighlow255new pixel = \frac{old pixel - low}{high - low} * 255
0-255 전범위로 늘릴 수 있다.
End in Search
얼마나 변할 것인지 명시를 해줘야함.
low = converted to full black
high = converted to full white
Piecewise-Linear Stretching
몇 가지의 선형 함수를 통해 변환.
Clamping : α=r=0\alpha = r = 0
Thresholding : a=b=t,u[a,b]a = b = t, u \in [a, b]
a가 크면 어두운 부분이 밝아지고 b가 크면 중간 부분이 밝아지고 r가 크면 전체적으로 어두워지는데 밝은 부분은 더 밝아짐
Intensity Transform
LUT로 쉽게 실행 가능
예시로는 y=x, y = 255-x, 감마보정, stretching
Compression
대비를 줄인다
분산 범위를 좁힌다
Posterizing
gray level 값을 줄인다 (0-255 → 100-200)
이미지 크기를 줄인다
thresholding
gray level 값을 두개로 줄인다
binary img
bounded thresholding
제한된 범위에서만 thresholding진행.
해당 범위 말고는 y=x
iso-intensity contouring
특정 intensity 값을 흰검으로 나눈다
특정 intensity level을 찾고 싶을 떄 사용
solarizing
밝은 부분을 negative transform한다