【 opencv 基礎知識 2 】 異常検知アプリ作成!② -プロジェクト準備とグレースケール画出し-
前回はとりあえず下準備でした!
今回はプロジェクト起こしてから、画出しまで!
①プロジェクトの準備
vs2010から「win32コンソールアプリケーション」を起動。
*ハマりポイント①
win7でwin32コンソールアプリケーションのプロジェクトをイニシャライズして、そのままだとビ・ル・ド・で・き・な・い!w
「LINK : fatal error LNK1123: COFF への変換中に障害が発生しました: ファイルが無効であるか、または壊れています。」
解決策:
* Visual C++ Service Packが古いので更新
とかありますが、僕は下のやつで解決。
* プロジェクトのプロパティ
→構成プロパティ
→入力と出力
→埋め込みマニフェストを”いいえ”に !
*ハマりポイント②
リンク、、がんばる。。
②opencvの使い方 (グレースケールの映像を出す)
出力はこんな感じ
ソースは以下
//カメラの番号
const int camera_number = 0;
//作るウィンドウの名前
char window_name[] = "opencv_test_code";
//終了コード
const int ESC_KEY = 27;
//ウィンドウを作成
cvNamedWindow( window_name, CV_WINDOW_FULLSCREEN );
//カメラからのビデオキャプチャを初期化
//PCにwebcamが2台刺さっていれば、2台目はcamera_number=1で確認できます。
CvCapture *video_capture = cvCreateCameraCapture( camera_number );
//ビデオキャプチャの縦横ピクセルを設定
const int width = 1280;
const int height = 720;
cvSetCaptureProperty ( video_capture, CV_CAP_PROP_FRAME_WIDTH, width );
cvSetCaptureProperty ( video_capture, CV_CAP_PROP_FRAME_HEIGHT, height );
//グレースケール画
IplImage* gray = cvCreateImage( cvSize( width, height ), IPL_DEPTH_8U, 1 );
//エスケープキーを押したら終了
while( ESC_KEY != cvWaitKey( 1 ) )
{
//ビデオキャプチャからのフレーム取り出し
IplImage* image = cvQueryFrame( video_capture );
//画像を反転
// int flip_mode = 1; ( y軸周りでの反転 )
//cvFlip ( image, image, flip_mode );
//グレースケール変換
cvCvtColor(image, gray, CV_BGR2GRAY);
//ウィンドウに画像を表示する
cvShowImage( window_name, gray );
}
// ビデオキャプチャを解放する
cvReleaseCapture( &video_capture );
// ウィンドウを破棄する
cvDestroyWindow( window_name );
コードの貼り付けってどうやるんや~~orz
トイレットペーパー買い出しにいくので今日は以上。