OpenCVのビデオ映像リアルタイム表示
OpenCVの画像のエッジ検出処理と画像保存
//
//USB接続したビデオカメラ動画の出力表示
//
// Copyright(c) 2012 shiotani.cn All Rights Reserved.
//
//前準備
//1.ファイル>新規作成>プロジェクト>VisualC++>Win32コンソールアプリケーション
//2.プロジェクト>プロパティ>構成プロパティ>全般>文字セット>設定なし
//3.プロジェクト>プロパティ>構成プロパティ>C/C++>全般>追加のインクルードディレクトリ>C:\OpenCV2.3\include
//
//デジタルビデオカメラ(USBカメラ)をPCとUSB接続する
//
#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_name ="Digita Video Camera Image with USB"; // 表示Window識別名の宣言
int key;
CvCapture* src; // ビデオキャプチャ宣言
IplImage* frame; // 出力画像構造体宣言
cvNamedWindow(wnd_name); // 表示Window作成
// cvResizeWindow(wnd_name, 500, 500); // 表示Windowサイズ変更
src=cvCaptureFromCAM(0); // カメラ映像取得
if(src==NULL) // ビデオカメラが見つからない時
{
printf("There is NOT the Video Camera.\n");
cvWaitKey(0); // キー入力待ち
return -1;
}
while(1){
frame=cvQueryFrame(src); // 1フレーム取得
cvShowImage(wnd_name,frame); // 1フレームWindow表示
key=cvWaitKey(33); // キー入力待ち(33ms)
if(key==27)break; // ESCキー入力で終了
}
cvDestroyWindow(wnd_name); // 表示Windowを破棄
cvReleaseCapture(&src); // 画像構造体の解放
return 0;
}
実行結果のビデオ映像
ビデオカメラで、デスクトップの実行出力画面を移した映像です。