본문 바로가기
이모저모/AVFoundation

7주차. 영상처리(Image processing)

by ARpple 2024. 7. 7.

히스토그램 평할화

  1. 주어진 영상을 히스토그램 평활화해서 영상의 Contrast를 향상할 수 있다.
  2. HDRI(High Dynamic Range Imaging)로 영상의 Contrast를 향상시키는 과정을 설명할 수 있다.

Histogram Equalization (히스토그램 평할화)

Contrast를 향상시키는 방법

❓ Contrast: 비교되는 대상들과의 픽셀 값의 차이

⇒ 영상의 히스토그램에 기반한 통계적 기법으로 영상의 Contrast를 향상시킴

Histogram 평할화단계

  1. 영상의 Histogram을 만듦
    1. Histogram: 대상이 되는 값들의 개수를 세는 것 ⇒ pmf
    2. Probaibility mass function 이라고도 함
  2. Histogram으로부터 Cumulative Histogram을 만듦 (누적 히스토그램)
    1. Cumulative Histogram: 어떤 밝기 값에 대한 개수를 밝기 값 0에서 시작해서 그 밝기 값까지의 모든 픽셀의 개수를 세는 것 ⇒ cdf
    2. Cumulative probability density function 이라고도 함

💡 영상의 해상도가 M x N일 때, 가장 밝은 픽셀 값의 cdf 개수 = M x N

Histogram Equalization → 선형적 변화

  1. 밝기가 가장 작은 픽셀 → 가장 어두운 검정색
  2. 밝기가 가장 큰 픽셀 → 흰색 반환
  3. 중간 밝기 → 비례 반환

Contrast의 의미

Contrast = Luminance Difference / Reference Luminance

⇒ 대조 = 밝기 차이 / 기준 밝기

관련 용어

✅ Dynamic Range: 영상에서 최소 밝기에서 최대 밝기의 범위

Contrast Ratio: 최소 밝기에 대한 최대 밝기의 비율

stop = log2(contrast ratio) ⇒ Stop이 클수록 담을 수 있는 밝기 변화가 크다.

HDRI (High Dynamic Range Imaging)

💡 Dynamic Range가 작은 카메라로 노출을 다르게 한 여러 장의 영상을 합쳐서 Dynamic Range가 높은 영상을 합성하는 과정

관련 용어

  1. EV(Exposure Value: 노출값) ⇒ 카메라에 빛이 들어오는 양
  2. f_number: 카메라에 빛이 들어오는 조리개 구멍의 크기
    1. 빛의 양은 조리개의 면적에 비례하므로 2배의 관계를 갖음
  3. Shutter speed: 빛이 들어오는 시간을 조절

Hough Transform

  1. Hough Transform의 직교좌표계와 극좌표계의 차이점을 설명할 수 있다.
  2. 주어진 영상에서 Hough Transform을 사용해서 선을 인식할 수 있다.

Hough Space에서 (a,b) 점의 Count가 지정한 임계값보다 크면 선 y = ax + b가 영상에 있다고 인식
영상의 평면 좌표계를 HoughSpace의 집합으로 변환하는 함수

Hough Space

기울기를 a, y절편을 b로 설정한 선 공간

⇒ 평면좌표계에서 특정 점들을 지나가는 선들의 집합을 표현할 수 있다.

✅ Hough Space에서 (a,b) 점의 count가 지정한 임계값보다 크면 선 y = ax + b가 영상에 있다고 인식
⇒ a: 기울기 - b: 절편

Hough Array(r,𝜃)

  • 입력된 영상의 픽셀을 지나는 선들의 개수를 저장함
  • 개수가 임계값보다 많은 (r, 𝜃)를 선으로 출력함

Hough Transform 알고리즘

  1. 영상에서 선을 인식하고자 하는 픽셀들의 위치로 구성된 시퀀스 구성
  2. 선으로 인식할 Count의 임계값으로 설정
  3. Hough Array (a,b)에 있는 Count 값들을 모두 0으로 설정
  4. 시퀀스에 있는 픽셀 위치를 하나씩 순서대로 읽어서 처리
  5. Hough Array에서 (a,b)의 Count값이 임계값 보다 크면 입력된 영상에 (a,b)의 선이 있다는 것을 출력

⇒ 문제점: 기울기 a가 -∞에서+∞ 의 값을 가짐(영상에서 수직선)

극좌표계에서의 선 공식

Image Convolution

  1. Convolution의 수학적 개념을 설명할 수 있다.
  2. Padding을 할 수 있다.
  3. 영상을 다양한 마스크를 선택해서 Convolution 할 수 있다.

멀티미디어에서의 함수

  • 오디오 → S(t): 시간 t에 따라 변하는 공기 진동의 크기
  • 영상 → l(x,y): (x,y) 위치에서의 빛의 밝기
  • 동영상 → V(x,y,t): 시간 t에 있는 프레임의 (x,y) 위치에서의 빛의 밝기

⇒ 함수의 연산: 멀티미디어 처리

⇒ 함수의 덧셈, 곱셈, Convolution

함수의 덧셈

함수의 곱셈

함수의 연산 - Convolution

Convolution 단계

  1. 함수의 매개변수를 t에서 tow(타우)로 변환
  2. 마스크 함수 h(tow)를 원점에 대칭한 마스크 함수 h(-tow)로 변환
  3. 마스크 함수 h(-tow)를 출력함수 g(t)의 구하고자 하는 위치 t 만큼 이동한 h(-(tow - t))로 변환
  4. 입력함수 f(tow)와 t 만큼 이동한 마스크 함수 h(t - tow)를 곱해서 jt(tow) 함수

Discrete Convolution(Sampling 된 신호)

💡 Convolution은 다양한 마스크를 사용해서 영상의 Edge를 검출하거나, 영상을 부드럽게 하는 등의 효과를 줄 수 있음

  1. 함수의 매개변수를 n에서 m으로 변환
    1. 입력 함수 f(n) = f(m)
    2. 마스크 함수 h(n) = h(m)
  2. 마스크 함수 h(m)를 원점에 대칭한 마스크 함수 h(-m)로 변환
  3. 마스크 함수 h(-m)을 출력함수 g()의 구하고자 하는 위치 n 만큼 이동한 함수 h(-(m-n))로 변환

 

댓글