Image : 디지털 이미지는 빛의 2D 배열로 표현된다. 이 배열의 각 점을 픽셀(Pixel)이라고 부르며, 픽셀의 특성을 이해하는 것은 매우 중요하다.
Global Shutter (CCD) vs Rolling Shutter (CMOS)
Global Shutter
작동 원리 : 모든 픽셀이 동시에 빛에 노출
장점 : 움직이는 물체를 촬영할 때 왜곡이 없음.
단점 : 구현이 복잡하고 비용이 많이 듦.
예시 : 하이엔드 DSLR 카메라
Rolling Shutter (CMOS)
작동 원리 : 각 픽셀이 순차적으로 빛에 노출
장점 : 빠르고 저렴하게 구현할 수 있음.
단점 : 움직이는 물체를 촬영할 때 왜곡이 발생함. (Skew 현상 등)
예시 : 스마트폰 카메라
** Skew : 카메라가 움직이거나 피사체가 빠르게 이동할 때 발생하는 왜곡 현상으로, 이미지의 상단과 하단이 서로 다른 시간에 캡쳐되기 때문에 물체가 동위상에 위치하지 않는 것처럼 보이는 현상 (기울어져 보임).
Pixel
픽셀의 2D 좌표 : 각 픽셀은 이미지 내에서 고유한 2D 좌표를 가진다. 예를 들면, 픽셀 의 좌표값은 이다.
픽셀의 값 (강도) : 각 픽셀은 빛의 양을 나타내는 값을 갖는데, 이 값을 픽셀의 강도 또는 밝기라고도 부른다.
픽셀의 값의 의미 : 픽셀 값은 빛의 양을 나타내므로, 낮은 픽셀 값은 이미지에서 어두운 부분을, 높은 픽셀 값은 이미지에서 밝은 부분을 나타낸다.
픽셀 값의 범위 : 픽셀은 일반적으로 두 가지 방식으로 나타낸다.
(8bits, 1byte) : 픽셀 값이 0에서 255 사이의 정수로 표현되는데, 0은 제일 어두운 흑색, 255는 제일 밝은 백색을 나타낸다.
: 각 픽셀 값이 0.0 ~ 1.0 사이의 실수 값을 갖는다. 이 경우, 0.0이 제일 어두운 흑색, 1.0은 제일 밝은 백색이다.
이미지 획득 과정 (Image Acquisition Process)

1). Illumination Source : 물체를 비출 수 있는 적절한 조명(빛)이 존재한다.
2). Scene Element : 물체(피사체)로부터 빛(가시광선)이 나온다.
3). Imaging System : 이미징 시스템 (카메라, 렌즈, 필터 등)을 통해 피사체로부터 나오는 장면을 수집한다.
4). Internal Image Plane : 이미징 시스템을 통해 모은 빛을 내부 이미지 평면에 맺히게 만들어, 상을 형성한다.
5). Output (Digitized) Image : 내부 이미지 평면에서 형성된 이미지를 디지털화 하여 최종 결과물을 만들어 낸다.
Sampling and Quantization : 샘플링과 양자화는 아날로그 이미지를 디지털 이미지로 변환하는 과정에서 매우 중요하다.
샘플링 : 샘플링은 연속적인 값을 갖는 아날로그 이미지를 이산적인 값을 갖는 디지털 이미지로 변환하는 단계이다.
양자화 : 샘플링된 이미지의 값을 이산적인 수준으로 변환하는 과정이다. 이는 연속적인 아날로그 값들을 디지털 값들로 근사화하여 이루어진다.
How to record color?

컬러 이미지, 3D Tensor : 컬러 이미지는 일반적으로 3차원 텐서로 표현된다. 이 텐서는 다음과 같은 형식을 갖는다.
H (Height) : 이미지의 높이
W (Width) : 이미지의 너비
C (Channels) : 색상 채널 (RGB일 경우 3)
컴퓨터 메모리에서의 저장 : 컴퓨터 메모리는 1차원 배열로 구성되어 있다. 따라서 3차원 텐서를 저장하기 위해선 이를 1차원 배열로 변환해야한다. 이 변환 방법은 행 우선(Row-Major) 방식과 열 우선(Column-Major) 방식으로 나뉜다.
Row major : Row Scanning (대부분의 프로그래밍 언어들은 이 방식을 가정한다.)

Column major : Column Scanning

Channels Interleaved vs Channels separated
Channels Interleaved : 채널의 데이터를 연속적으로 저장하는 방식. 많은 이미지 처리 라이브러리와 포맷이 해당 방식을 사용한다.

Channels Separated : 각 채널의 데이터를 분리하여 저장한다. 필요에 따라 이 방식의 접근법도 유효하다.

How about Video?
영상은 이미지의 집합으로 볼 수 있다.
Frame Rate(Frame per second, FPS) : 영상 1초를 구성하는 화면의 이미지의 수(Frames)
GIF
색상이 색상 맵을 사용하여 저장됨.
색상 맵 : 특정 범위에 해당하는 값에 적용할 색을 미리 지정해두는 것. 색 표현이 왜곡될 수 있다.
파일당 여러 이미지를 허용 애니메이션
PNG
트루 컬러 지원
무손실 압축 : 화질 손상이 적다.
JPEG
2D Function
2차원 공간에서의 이미지를 나타낸다.
는 2차원 공간 좌표를 나타낸다.
: 특정 좌표에서의 밝기 또는 색상 정보를 나타낸다.
1-D Scalar : Gray Scale Image, , 각 픽셀의 밝기를 나타냄.
3-D Vector : Color Image (RGB), , 각 픽셀에서 R, G, B의 강도를 나타냄.
: 는 시간을 나타낸다. 이 형태는 비디오 시퀀스를 나타내며, 각 시점에서의 2차원 이미지를 표현한다.
: 는 3차원 공간에서의 깊이를 나타낸다. 이 형태는 3차원 공간에서의 객체를 나타낸다.
Primary Colors of Light : 빛의 3원소는 Red, Green, Blue이다.
Luminance (명도) : 사람이 여러 색상을 지각할 때의 밝기를 대략적으로 정의하는 양이다.
명도 Y를 RGB로 대략적인 계산 방법이 있다.
실험 데이터에 기반하여, 명도에 대해서 더 정확한 계산 방법은 아래와 같다. 대부분의 디스플레이 기술에서 명도를 조정할 때 사용하는 계산법에 해당한다.
** 위와 같은 계산식이 성립하는 이유는, 일반적으로 사람의 눈이 인식할 때 제일 민감하게 반응하는 색이 초록색이기 때문이다.
Point Processing (Point Operation) : 출력 이미지의 각 픽셀은 입력 이미지의 동일한 위치에 있는 픽셀 값에 따라 결정된다.
Examples of Point processing
Original :
Darken :
Lower contrast :
Non-linear lower contrast :
Invert :
Lighten :
Raise Contrast :
Non-linear raise contrast :
Brightness vs Contrast
Brightness (밝기) : 이미지의 평균 강도
Lighten : 이미지의 밝기를 증가시킴
Darken : 이미지의 밝기를 감소시킴
Contrast (대비) : 픽셀 값 간의 상대적인 차이
Adjust brightness (밝기 조정) : 모든 픽셀 값이 더 커지거나 작아짐. 픽셀 값 간의 상대적 차이는 동일하게 유지됨.
Adjust contrast (대비 조정) : 픽셀 값 간의 상대적 차이가 더 커지거나 작아짐.
Intensity transformation (강도 변환) : 포인트 프로세싱에서, 공간 영역에서의 연산은 다음과 같다.

위 식에서 h를 강도 변환 함수라고 부르며, 이는 입력 강도 r을 출력 강도 s로 변환한다.
강도 변환 함수는 각 픽셀의 입력 강도를 특정 방식으로 변환시켜 새로운 출력 강도를 생성한다.
Power-law(Gamma) Transformation (거듭제곱 법칙 변환) : 이미지의 밝기와 대비를 조정하는 데 사용된다. 감마 값의 조정에 따라 어두운 영역과 밝은 영역의 표현이 달라진다.
위 식에서 는 양의 상수이다.
감마 값의 특징
낮은 의 경우 좁은 범위의 어두운 입력 값을 넓은 범위의 출력 값으로 매핑한다.
반대로 높은 의 경우에는 좁은 범위로 매핑된다.
