본문 바로가기
인공지능/영상처리

[OpenCV/영상처리] 그레이스케일, 영상 이진화

by 이민훈 2021. 5. 21.

개요

전처리 과정은 이미지 내에서 유의미한 데이터를 뽑아내기 위해 이미지를 정제하는 과정입니다.

 

그중 가장 자주 쓰이고 효율적인 전처리 방법인 그레이스케일과 영상 이진화에 대해 설명드리겠습니다.

 

 

먼저 이미지는 컴퓨터가 이해하기 쉬운 데이터로 표현할 수 있는데,

 

기본적으로 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채널) 이미지

 

데이터를 찍어보면 아래 그림과 같습니다.

 

 

아래 생략된 부분이 있지만 3차원 배열 형태인 것을 알 수 있습니다.

 

배열의 크기는 $512\times512\times3$ 로 각각 행, 열, RGB 값을 의미합니다.

 

그레이스케일

그레이스케일이란 $256\times256\times256$의 3채널 이미지를 $256$의 1채널 이미지로 바꾸는 것을 의미합니다.

 

흔히들 알고 있는 흑백사진이 회색조로 변환된 이미지입니다.

 

회색조(1채널) 이미지

 

이 회색조 이미지 역시 데이터를 출력해보면..

 

 

2차원 배열 형태인 것을 알 수 있는데요.

 

3채널이 1채널로 줄었으므로 데이터의 크기는 이미지의 $행\times열$과 같아집니다.

 

영상 이진화

그레이스케일이 3채널 이미지를 1채널 이미지로 바꾸는 것이라면,

 

영상 이진화는 0~255의 값을 0 또는 255 즉, 흰색 또는 검은색으로만 바꾸는 것을 말합니다.

 

연산 속도의 개선은 물론, 객체를 검출하는 데 있어 탁월한 효율을 보여줍니다.

 

이진화된 이미지

 

데이터를 출력해보면 흰색(255) 또는 검은색(0)으로 표현되는 것을 알 수 있습니다.

 

 

그레이스케일이나 이진화에 대해 간략하게 설명하였는데,

 

쓰이는 알고리즘이나 코드에 대한 설명은 추후 포스팅하겠습니다.

댓글