개요
전처리 과정은 이미지 내에서 유의미한 데이터를 뽑아내기 위해 이미지를 정제하는 과정입니다.
그중 가장 자주 쓰이고 효율적인 전처리 방법인 그레이스케일과 영상 이진화에 대해 설명드리겠습니다.
먼저 이미지는 컴퓨터가 이해하기 쉬운 데이터로 표현할 수 있는데,
기본적으로 2차원 배열의 형태로 표현할 수 있습니다.
$100\times100$ 크기의 이미지가 존재한다고 가정하면, 이 이미지에는 10,000개의 픽셀이 존재합니다.
이 각각의 픽셀은 디지털 이미지에서 사용되는 방식인 RGB 값을 가지고 있는데,
R, G, B의 값은 그 범위가 0~255로 8비트로 이루어져 있습니다.
이 말인즉슨 $256\times256\times256$으로 총 16,777,216가지의 색상을 표현할 수 있다는 뜻입니다.
10,000개의 픽셀이 존재하는데, 그 픽셀 하나는 16,777,216가지의 색상으로 나타낼 수 있으니
듣기만 해도 매우 큰 값임을 알 수 있습니다.
아래 그림은 $512\times512$ 크기의 이미지로 컬러(3채널) 이미지입니다.
데이터를 찍어보면 아래 그림과 같습니다.
아래 생략된 부분이 있지만 3차원 배열 형태인 것을 알 수 있습니다.
배열의 크기는 $512\times512\times3$ 로 각각 행, 열, RGB 값을 의미합니다.
그레이스케일
그레이스케일이란 $256\times256\times256$의 3채널 이미지를 $256$의 1채널 이미지로 바꾸는 것을 의미합니다.
흔히들 알고 있는 흑백사진이 회색조로 변환된 이미지입니다.
이 회색조 이미지 역시 데이터를 출력해보면..
2차원 배열 형태인 것을 알 수 있는데요.
3채널이 1채널로 줄었으므로 데이터의 크기는 이미지의 $행\times열$과 같아집니다.
영상 이진화
그레이스케일이 3채널 이미지를 1채널 이미지로 바꾸는 것이라면,
영상 이진화는 0~255의 값을 0 또는 255 즉, 흰색 또는 검은색으로만 바꾸는 것을 말합니다.
연산 속도의 개선은 물론, 객체를 검출하는 데 있어 탁월한 효율을 보여줍니다.
데이터를 출력해보면 흰색(255) 또는 검은색(0)으로 표현되는 것을 알 수 있습니다.
그레이스케일이나 이진화에 대해 간략하게 설명하였는데,
쓰이는 알고리즘이나 코드에 대한 설명은 추후 포스팅하겠습니다.
댓글