영상 획득과 표현
우리가 일상에서 직접 영상이나 이미지를 얻을려면 카메라를 사용할 수 있습니다.
카메라는 물체에서 반사된 빛을 작은 구멍에 통과시켜, 뒷면에 있는 영상 평면(image plane)에 맺힙니다.
영상 평면은 생물의 눈일 경우 망막, 필름 카메라일 경우 필름, 디지털 카메라의 경우 CCD 센서가 됩니다.
아날로그(빛) 신호를 받은 CCD 센서는 디지털로 변환하는 과정에서 샘플링(sampling)과 양자화(quanizaion)을 수행합니다.
샘플링은 2차원 영상 공간을 가로 N개 세로 방향으로 M개 구간으로 나눕니다.
이렇게 형성된 한 점을 화소(pixel) 라 하고, M x N을 영상의 크기, 또는 해상도(resolution) 라 합니다.
양자화는 화소의 명암을 L개 구간으로 나눕니다.
보통 한 바이트로 표현할 수 있다록 L = 256을 사용합니다.
영상 좌표계
디지털 영상은 가로 방향의 X 축은 0, 1, ..., N - 1의 정수 좌표를 가지며
세로 방향의 Y 축은 0, 1, ..., M - 1의 정수 좌표를 가집니다. 즉 2차원 배열입니다.
디지털 영상의 좌표는 두가지 측면에서 일반적인 표기와 다릅니다.
첫째. 원점이 왼쪽 위 입니다 둘째. ( x,y ) 대신 ( y, x ) 표기를 사용합니다.
색 표현
흔히 이미지를 .shape 함수로 확인해 보면 ( 세로길이, 가로길이, 채널수 ) 의 크기를 가지고 있습니다.
여기서 채널수란 색상을 이루는 RGB의 개념입니다. (OpenCV는 BGR로 계산)
이처럼 채널 3개로 모든 색상표현이 가능합니다.
주의할 점은 이미지를 ndarray로 표현해보자면
(56, 100, 3)는 파랑 56 초록 100 빨강 3 를 뜻하는 것이 아닌,
행 56, 열 100에 위치한 화소점의 빨강색 값을 뜻합니다.
이렇게 이미지는 위와 같이 각각의 B, G, R(3개)의 채널이 가로 세로의 값을 가집니다, 더 정확히는 " B, G, R 3개가 겹쳐있다 "
이를 처리하기 편하게 채널 수를 1로 줄이고 (명암 이미지), 가로 세로(사이즈) 의 크기도 줄여보는걸 openCV 기본에 정리했습니다.
영상 종류
(a) 명암 영상 : 채널이 하나인 2차원 구조의 배열
(b) 컬러 영상(RGB) : red, green, blue 3개 채널로 구성된 컬러 영상인 3차원 구조의 배열
(c) 컬러 동영상 : 컬러 이미지를 프레임(frame) 단위로 쌓은 4차원 구조의 배열
(d) 다분광/초분광/MR/CT 영상 : 자외선과 적외선 영역까지 채널을 확장함
위 영상은 물체가 반사한 빛을 측정한 디지털 영상입니다. 또 다른 종류로
물체까지 거리를 측정한 영상이 있습니다. 거리를 깊이(depth) 또는 레인지(range) 라 부르며, 거리를 표현한 영상은
깊이 영상 또는 레인지 영상이라 부릅니다. 빛은 날씨나 조명 등의 변화에 매우 민감하지만 거리는 둔감하기 때문에 깊이 영상을 사용하는 알고리즘은 이런 변화에 강건합니다.
ex) 자율주행자동차에서 깊이 영상은 필수입니다.
(e) RGB-D : 컬러 센서와 깊이 센서가 통합된 카메라로 획득한 영상
또 다른 방식의 깊이 센서로 라이다(lidar)가 있습니다.
라이다는 어떤 조건을 만족하는 점의 거리만 측정하기 때문에 영상이 완벽한 격자 구조가 아닙니다.
(f) 점 구름 영상 : 획득한 거리 데이터 영상을 점 좌표(x, y)와 해당 점까지의 거리(d)를 저장
'인공지능 > 컴퓨터 비전' 카테고리의 다른 글
[컴퓨터 비전] 4 영역 연산 (1) | 2023.05.13 |
---|---|
[컴퓨터 비전] 3 점 연산 (0) | 2023.04.22 |