カメラから画像を取得する
2012年11月6日:OpenCV
OpenCVを使ってカメラから画像を取得するプログラムを紹介します。
まず、MFCでダイアローグベースのプロジェクトを作成します。
そして、OpenCVのインクルードやライブラリのリンクを行います。
それが終わったら、OKボタンをダブルクリックして、以下のようにコードを組みます。
void COpenCVDlg::OnBnClickedOk() { // TODO: ここにコントロール通知ハンドラー コードを追加します。 //CDialogEx::OnOK(); int key; CvCapture* src; IplImage* frame; cvNamedWindow("カメラ映像"); src=cvCaptureFromCAM(0); if(src==NULL){ cvWaitKey(0); return; } while(1){ frame=cvQueryFrame(src); cvShowImage("カメラ映像",frame); key=cvWaitKey(33); if(key==27)break; } cvDestroyWindow("カメラ映像"); cvReleaseCapture(&src); return; }
あとは、実行するとカメラから画像を取得して表示されます。終わるときは、ESCをおします。
ポイントはcvCaptureFromCAMという命令です。
CvCapture* cvCaptureFromCAM(int index);
indexでカメラの番号を設定します。cvWaitKey(33)としているので33msecごとに画像を取得します。
著者:安井 真人(やすい まさと)
@yasui_masatoさんをフォロー