영화를 보다보면 가끔 CCTV를 통해서 컴퓨터가 수상한 사람이나 도둑으로 보이는 사람을 사람에게 알려주는 장면이 등장 합니다.또 CCTV를 통해 고속도로에 차가 몇대 다니는지, 거리에 지나가는 사람이 몇 명인지 계산하기도 합니다. 오늘은 영상에서 움직이는 것(사람)들을 감지하는 코드를 짜볼건데요. 영상에서 background subtraction을 opencv 함수로 간단히 구현해봅시다. (영상) (배경사진 - 첫 프레임 또는 함수를 통해 구해주어야한다.) (배경사진에서 CCTV 화면을 뺀 영상) (데이터 처리 후 영상 - 뒤에 이 영상을 가공하여 사람 수 등을 계산할 예정) 전체적인 원리는먼저 아무도 다니지 않을 때의 영상 사진(background image)를 구하고 현재 촬영되는 영상에서 backg..
이번 글에서는 OpenCV에서 RGB 컬러를 Grayscale로 변환하는 방법에 대하여 알아보도록 하겠다. 우선 이론적으로 살펴보면, 가장 널리 사용되는 방법 중 하나가 Luma Coding(https://en.wikipedia.org/wiki/Grayscale)을 이용한 방법인데, 수식은 다음과 같다: 여기서, R', G', B'은 Red, Green, Blue 채널에 대한 비디오 시스템의 Gamma-compressed 값이다. 이들로부터 계산된 Y'은 비선형 Luma 컴포넌트(Nonlinear Luma Component)이며, Grayscale된 값이다.이 수식을 기반으로 RGB 컬러를 Grayscale로 변환하는 OpenCV Source Code는 다음과 같다. [Source Code 1]#incl..
컬러 모델 Gray, RGB, HSI, CMY, CMYK, YUV(YCbCr) : 색상을 좌표상의 한 점으로 표현하자 오늘은 영상처리의 기본이 되는 Gray, RGB, HSI, CMY, CMYK, YUV(YCbCr) 컬러 모델에 대해서 알아보도록 하자. 우리가 인식하는 실제 색깔은 컴퓨터가 이해할 수 없다. 그래서 컴퓨터가 알아듣기 쉽게 숫자로 바꿔주는데, (대부분의 경우) 모든 색깔은 3가지 값이면 나타낼 수 있다. 그래서 나온 것이 RGB, HSI, CMY, YUV 등의 컬러모델이다. 컬러 모델은 자연색깔을 좌표상의 한 점(숫자)로 표현 한 것이라는 포인트를 기억하고 다음으로 넘어가자. Gray 모델- 색 정보를 사용하지 않고 밝기 정보만으로 영상을 표현 한 것이다.(검정색)0 ~ 255(흰색) 까지..