Project/Vlpan2011. 3. 20. 20:43

V Visualizer

캠으로 들어오는 매 프레임마다의 이미지들을

영상처리를 통해 외곽선과 좌표를 추출하여 파티클을 움직이고 현재 윈도우의 볼륨 크기 변화를 통해

파티클의 크기를 변화시키는 프로그램입니다.

 

[ Viewer ]

 

[ Select Mode ]

- 동적 배경 분할 : 지정한 시간동안의 영상을 통해 배경에 대한  누적치를 계산한 후

                          매 프레임마다 배경과 사물의 휘도 진폭을 재 계산함으로써 분리해 나갑니다.

                          http://opencv.jp/sample/accumulation_of_background.html

 

 

- 정적 배경 분할 : 동적배경분할과 비슷하지만 배경과 사물을 재 계산하지 않고 처음 계산된 배경 값을 통해

                          현재 이미지와의 차이를 계산합니다.

                          https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/c/bgfg_codebook.cpp

 

 

 - 색상 분리 : RGB를 YCbCr로 변환한 후 Cb 공간을 사용하였습니다.

                    http://cafe.naver.com/opencv/9466

 

 

[ Select Contours Mode ]

- Line : 외곽선을 라인으로 그립니다.

- Ellipse : 외곽선을 원 모양들로 그립니다.

- Rectangle : 외곽선을 사각형 모양들로 그립니다.

- Vlpan : Visualizer 프로그램을 실행시킵니다.

 

[ Path Data ]

- 외곽선의 좌표 입니다.

 

[ IP ]

- 현재 영상 및 외곽선 좌표를 전송할 IP를 설정합니다.

 

[ Learning Time ]

- 동적 배경 분할 및 정적 배경 분할 시 초기 배경 값을 계산할 시간입니다.

 

[ MinColor, MaxColor ]

- 색상 분리 시 최소, 최대 이진화 임계치 값입니다.

 

[ 좌표 전송 ]

- 현재 영상 및 외곽선 좌표를 전송합니다.

 

- Client 프로그램

 

[ 파일 저장 ]

- 외곽선 좌표들을 파일로 저장합니다.

 

[ 영상처리 과정 ]

각 모드를 통한 객체 분리 -> 라벨링을 통한 잡음 제거 -> 침식, 팽창 -> 외곽선 추출

[ 개발환경 ]

OS : Windows 7

Tools : VisualStudio 2008, Expression Blend3

Image Processing : EmguCV 2.1 ( cvCreateBGCodeBookModel 함수 사용 시 버그가 있어 약간의 수정을 하였습니다. )

Language : C# (WPF)

 

[ 실행 ]

EmguCV 2.1 을 설치 하신 후 실행하시면 됩니다.
 

처음 해보는 영상처리 프로젝트여서 여기저기 자료 찾고 테스트 하느라 힘들었습니다.

특히나 빛에 영향을 많이 받기 때문에 굉장히 까다로웠습니다.

저 처럼 영상처리 프로젝트를 처음 접해 보시는 분들에게 조금이나마 도움이 되었으면 합니다.

한 가지 여담으로 이 프로젝트를 마친 후에 키넥트가 발매가 되었습니다.

좀 더 일찍 나왔다면 배경 분리한다고 이런 수고를 하지 않았을텐데.. 덕분에 많은 공부했네요. ^^

'Project > Vlpan' 카테고리의 다른 글

V Visualizer for Vlpan  (2) 2010.11.04
블판  (0) 2010.10.25
Posted by 열ㅇl