ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • VFW를 이용한 PC캠 설정하는 방법
    Programming/VFW 2008. 10. 23. 11:20
    VFW, Video for Window는 Microsoft사에서 기본적으로 제공하는 
    영상녹화 라이브러리입니다.
    영상녹화에는 DirectX의 Direct Show나 MPEG를 사용하는 방법도 있지만 
    일단 VFW쪽으로 설명하도록 하겠습니다.
    제공되는 라이브러리인 만큼 MSDN에 VIDCAP이라는 예제가 제공되고 있으니
    더욱 자세히 알고싶은 부분이 있다면 참고하세요.


    우선 vfw32.dll에서 기본으로 제공하고 있는 함수 중 중요한 함수 2가지는
    캡쳐 윈도우를 생성해주는 capCreateCaptureWindow() 와
    capture Driver의 버전 정보를 가져다주는 capGetDriveDescription() 입니다.


    다음은 캠을 화면에 표시해주는 순서입니다.


    ① 캡처된 화면을 보여줄 윈도우 영역 지정
    m_HostVideo.GetWindowRect(), ScreenToClient()

    ② 비디오캡처 윈도우를 지정된 영역에 생성 
    capCreateCaptureWindow();

    ③ 캡처 윈도우와 드라이버 연결
    capDriverConnect()

    ④ 캡처윈도우에 프리뷰 모드로 보여줌
    capPreview(), capPreviewRate(), capPreviewScale()

    여기까지 설정함으로써 호스트 화면에 카메라를 통한 캡처된 이미지 디스플레이

    ⑤ 콜백 함수의 호환을 위해서 비디오 포맷 설정
    capSetVideoFormat(m_hwndCap, &m_BmpInfo, sizeof(BITMAPINFO))

    ⑥ 캡처되는 이미지의 정보를 얻어냄
    capGetVideoFormat(m_hwndCap, &m_BmpInfo, sizeof(BITMAPINFO))

    ⑦ 콜백 함수를 지정
    capSetCallbackOnVideoStream(m_hwndCap, VideoStreamCallbackProc)

    ⑧ 캡처에 필요한 정보를 셑팅 후 저장
    capCaptureSetSetup(m_hwndCap, &captureParms, sizeof(CAPTUREPARMS))

    ⑨ 캡처링을 실시
    capCaptureSequenceNoFile(m_hwndCap)


    여기까지 설정함으로써 CallBack 함수를 통한 
    실시간 이미지 전송기반이 마련 됩니다.

    댓글

Designed by Tistory.