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で読込みます.
読み込んだビデオファイル