USB를 이용한 CAM을 사용하여 홈페이지에 영상을 띄우고...
다들.... 잘 지내시죠? 자주찾아뵙지 못해서 죄송합니다.... 일본에 다녀오느라고.... 한동안 접속을 못했습니다....
죄를 뉘우치며... 질문글을올립니다.. ㅠ_ㅠ
USB용 캠을 가지고있습니다. lebaca webcam 이라는 녀석입니다.
현재는 윈도우에서만 사용하고있는데.. 사용해야할 플래폼은 리눅스(아직 OS결정은 못한상태입니다.. 유닉스 계열이라는것뿐.. ㅠ_ㅠ)
에 언어는 C를 사용하여(gcc를 사용하게 될것입니다... 강력함에 매료되어 ^^;).... 홈페이지에 캠에서 촬영되는 화면을 띄우는 것입니다.
사용될 컴퓨터는 동시에 웹서버가 될것이고..... 다른 윈도우 유저들이 홈페이지를 이용하여 화면을 볼수있게 하려고 합니다.
여기서 문제는.... 캠의 촬영방은 회사에 문의해본결과 JPG라고 합니다.
각각의 프레임에서... n프레임과 n+1프레임의 변화점을 체크하고 화면에서 사람이나 어떤물체가 움직일때 그 위치를 트레킹 하는것이
목적입니다.
전에 JAVA를 이용하여 윈도우에서 이미지 워터마킹을 한번 해보았었는데...
C에선 어떻게 코드값(또는 바이너리)를 받아와서 프레임의 변화를 체크해내고...
사용자(웹에서 영상을 보고있는...)에게 변화가이었다를 알려줄수있을까요?
(JPG디코딩을 하여 나오는 값들을 분석하여 영상에 추가적으로 이동하는 물체의 윤곽을 흰네모테두리에 가두는 정도? 까지는 목표입니다.)
집에 웹캠을 실행시키고 외부에서 인터넷을 통하여 홈페이지에서 나오는 동영상을 보고 침입자가 있으면 체킹을 하고 테두리로 표시를 해주면서 사용자에게 경고를 보내주는....거라고 쉽게 설명을 할수도 있겠네요
프로그램을 직접 해보고 싶어서요.....
1. 캠에서 받아온 영상을 어떻게 각각의 프레임을 나누고 JPG영상으로 분리할수있을까?
2. gcc에서 JPG 디코딩을 어떻게 할수있을까?
3. 각각의 프레임비교를 어떻게 하면될까?(이건... 수학적으로 풀수있을것 같습니다....)
4. 변화감지..(이것도 디코딩만 해낸다면... 충분히 할수있을것 같습니다.)
5. 변화를 감지하면 영상에 새로운 영상추가(흰네모테두리상자표시...) 이것도... 우선 3번만 된다면....
가장 중요한게.. 1번과 2번인거 같습니다....
아무래도 JPG영상을 분리해내고 그 각한장을 디코딩해내는것이 가장 중요할것 같습니다...
어디부터 접근해야 할까요? 많은 조언 부탁드립니다.
1. 리눅스에서 캠을
1. 리눅스에서 캠을 구동할 수 있고, 가져온 포맷이 JPG 라고 한다면, 캠은 매 프레임마다 정지화면을 가져오므로 분리가 이미 되어 있는 것이라고 볼 수 있습니다.
2. JPG 을 화면에 출력하려면 일반적인 디스플레이용 RGB 값으로 바꿔야 하고, 이것은 jpeg 라이브러리가 해결해 줍니다. 검색해보시면 공개된 것이 있습니다. 라이브러리를 이용해도 괜찮고, 일반적인 JPG 으로 압축된 영상이라면 어렵지 않게 YUV 값을 얻어낼 수 있습니다. Y 만으로 (흑백 영상) 변화 감지를 처리해도 크게 문제될 것 같지는 않습니다.
sh.
원하시는 내용이 http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome 에 있을것 같습니다
댓글 달기