영상처리를 하면서 많이 사용했던 grayscale에 대해서 포스팅하겠습니다.
코드는 사용하는 언어, 영상의 종류에 따라서 천차만별이기 때문에 우선 생략하고 원리 중심으로 포스팅하겠습니다.
grayscale은 컬러 영상을 흑백화 해주는 것이라고 생각하면 됩니다.
연산속도도 빠르고 간단한 작업이기 때문에 영상처리를 처음 접할때 많이 하는 작업입니다.
grayscale은 왜 하는가 하면 보통 edge detection이라고 영상의 경계면을 찾는 과정이 있습니다.
이 과정은 그냥 컬러 영상에서는 하기가 복잡하기 때문에 grayscale을 먼저 하고 edge detection을 했던 기억이 납니다.
grayscale하는 제일 기본적인 방법은 영상의 픽셀의 RGB값을 먼저 추출해서
gray = (R+G+B)/3 입니다.
(R+G+B)/3을 하면 영상의 명도 값이 나오고 칼라 영상을 흑백화할 수 있습니다.
영상의 종류에 따라서 다르지만 보통 R,G,B,gray 값은 0~255값으로 표현됩니다.
예를 들어 (R,G,B)값이 (200,100,0)이면 이를 grayscale 하면 (100,100,100)이 되는 것입니다.
이게 제일 기본적인 grayscale이고 이보다 더 나아가서
gray = (0.299R+0.587G+0.114B), gray = (0.2126R+0.7152G+0.0722B)
위와 같은 grayscale도 있고 이 밖에도 여러 논문을 보면 계수가 엄청 다양합니다.
영상처리에 처음 도전하시는 분들은 grayscale에 도전해보세요!
'전자공학 > 영상처리' 카테고리의 다른 글
실내 위치 인식을 영상처리로?! (0) | 2018.01.09 |
---|---|
RANSAC이란? (+최소자승법) (3) | 2018.01.03 |
카이스트 지능형 SOC 로봇워 (7) | 2017.12.23 |
색의 3속성과 빛의 조도 휘도 광속 광도 (0) | 2017.11.27 |
윤곽선 검출 Edge Detection (0) | 2017.11.11 |