본문 바로가기
코스웨어/13년 스마트컨트롤러

131101 VFW 정리 - 조유진

by 알 수 없는 사용자 2013. 11. 1.
728x90
반응형

제 블로그에 쓴 걸 그냥 갖다붙였습니다;;;



개요

 VFW는 마이크로소프트에서 개발한 라이브러리로, Video For Windows의 줄임말입니다. 이번 실험(?)의 목표는 VFW를 이용하여 간단하게 웹캠의 영상을 추출해 화면에 보여주는 것입니다.


준비물

개발 환경 : VS2010

개발 언어 : C+Win32 API



코딩하기

1. VFW 라이브러리 추가하기

 라이브러리를 추가하는 방법은 두가지입니다. 하나는 소스 상단에 #pragma comment( lib, "vfw32.lib" )를 추가해 주는 것이고, 다른 하나는 프로젝트 링커 옵션에 추가하는 것입니다. VS2010에서 pragma를 쓰지 않고 라이브러리를 추가하는 법은 아래와 같습니다. 영문판 VS2010이기 때문에 한글판과 이름 등에 차이가 있을 수 있습니다. 굳이 vfw가 아니더라도, 모든 라이브러리가 같은 방법을 사용하니 참고하시기 바랍니다.




우선 vfw.h를 인클루드합니다.




프로젝트폴더 위에서 오른쪽 마우스를 클릭해 메뉴를 연 뒤, Properties 메뉴를 엽니다.




Linker->Input을 선택합니다.




Additional Dependencies의 라이브러리 목록을 클릭하면 ▼버튼이 생기는데, 이를 클릭합니다.




vfw32.lib를 추가합니다.




빌드에 성공했습니다.



2. WM_CREATE에서 설정하기



우선 캡쳐 윈도우 핸들을 생성하여 저장합니다.




웹캠과 연결하는 함수를 호출합니다.




이미지를 갱신하는 속도를 지정합니다.




비디오 포맷에 대한 정보를 biVFW 변수에 저장합니다.




직접 설정하면 번거롭기 때문에 기존 값에서 필요한 값만 수정합니다.




수정된 값을 반영합니다.




미리보기를 할 수 있게 해줍니다.




화면이 출력됩니다.

(실행시 Debug모드로 실행하면 에러가 뜨므로, Start without debugging(Ctrl+F5)으로 실행해 주어야 합니다.)



소스 및 실행파일


 main.c


 VFWExample.exe



728x90