OpenCVによるビデオファイルの読込み C++プログラミング入門 しおたに・ドット・チャイナ

006.png

HOME > OpenCVによるビデオファイルの読込み

OpenCVによるビデオファイルの読込み

OpenCVによるビデオファイルの読込み


//
//ビデオファイルの出力表示
//
// Copyright(c) 2012 shiotani.cn All Rights Reserved.
//
//前準備
//1.ファイル>新規作成>プロジェクト>VisualC++>Win32コンソールアプリケーション
//2.プロジェクト>プロパティ>構成プロパティ>全般>文字セット>設定なし
//3.プロジェクト>プロパティ>構成プロパティ>C/C++>全般>追加のインクルードディレクトリ>C:\OpenCV2.3\include
//
//VC++フォルダ内にビデオファイル(動画ファイルVideo_in.swf)を設置する
//


#include "stdafx.h"
#include "opencv2/opencv.hpp"

#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_core231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_imgproc231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_highgui231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_calib3d231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_contrib231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_features2d231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_flann231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_gpu231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_legacy231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_ml231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_objdetect231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_ts231d.lib")
#pragma comment(lib,"C:\\OpenCV2.3\\lib\\opencv_video231d.lib")


int _tmain(int argc, _TCHAR* argv[])
{
    char* wnd_name1 ="Movie From Video File";           // 表示Window識別名の宣言
    int key;

    CvCapture* src; // ビデオキャプチャ宣言
    IplImage* img_in; // 出力画像構造体宣言

    cvNamedWindow(wnd_name1);                           // 表示Window作成
//    cvResizeWindow(wnd_name1, 500, 500);                // 表示Windowサイズ変更

    src=cvCaptureFromFile("Video_in.swf");              // ビデオファイル取得

    if(src==NULL) // ビデオカメラが見つからない時
    {
        printf("There is NOT the Movie From Vide File.\n");
        cvWaitKey(0); // キー入力待ち
        return -1;
    }


    img_in =cvQueryFrame(src);                          // 初期フレーム取得


    while(1){
        img_in=cvQueryFrame(src);                        // 1フレーム取得
        if(img_in==NULL) break;                          // ビデオファイル終了時
        cvShowImage(wnd_name1,img_in);                   // 1フレームWindow表示

        key=cvWaitKey(33);                               // キー入力待ち(33ms)
        if(key==27)break;                                // ESCキー入力で終了
    }


    cvDestroyWindow(wnd_name1);                          // 表示Windowを破棄
    cvReleaseCapture(&src);                              // 画像構造体の解放


    return 0;
}

あらかじめパソコンに保存してあるビデオファイル「Video_in.swf」をOpenCVで読込みます.

読み込んだビデオファイル