TVカメラの映像を表示する



//
// Webカメラの映像を表示する
//
#include <cv.h>
#include <highgui.h>

#define WIDTH   640     //      キャプチャ画像の横幅
#define HEIGHT  480     //      キャプチャ画像の縦幅

#ifdef _DEBUG  //cv21
#pragma comment( lib, "cv210d.lib" )
#pragma comment( lib, "cxcore210d.lib" ) 
#pragma comment( lib, "cvaux210d.lib" )
#pragma comment( lib, "highgui210d.lib" )
#else
#pragma comment( lib, "cv210.lib" )
#pragma comment( lib, "cxcore210.lib" )
#pragma comment( lib, "cvaux210.lib" )
#pragma comment( lib, "highgui210.lib" )
#endif

int main(int argc, char **argv) {
        int key;                                        //      キー入力用の変数
        CvCapture *capture = NULL;                      //      カメラキャプチャ用の構造体
        IplImage *frameImage;                           //      キャプチャ画像用IplImage

        char windowNameCapture[] = "Capture";           //      キャプチャした画像を表示するウィンドウの名前

        //      カメラを初期化する
        if ((capture = cvCreateCameraCapture(-1)) == NULL) {
                //      カメラが見つからなかった場合
                printf("カメラが見つかりません\n");
                return -1;
        }

        //      ウィンドウを生成する
        cvNamedWindow(windowNameCapture, CV_WINDOW_AUTOSIZE);

        //      メインループ
        while (1) {
                //      captureの入力画像1フレームをframeImageに格納する
                frameImage = cvQueryFrame(capture);
                //      画像を表示する
                cvShowImage(windowNameCapture, frameImage);
                //      キーが押されたら終了
                key = cvWaitKey(1);
                if (key > 0) { break; }
        }

        //      キャプチャを解放する
        cvReleaseCapture(&capture);
        //      ウィンドウを破棄する
        cvDestroyWindow(windowNameCapture);

        return 0;

}