さてさて、コード書いてみる
今回もお世話になった本にご登場願います。
- 作者: 奈良先端科学技術大学院大学 OpenCVプログラミングブック制作チーム
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2007/09/22
- メディア: 単行本(ソフトカバー)
- 購入: 10人 クリック: 1,006回
- この商品を含むブログ (35件) を見る
はい、これのp.52のサンプルを書いてみます。
さて、viで書くかIDEで書くか悩んだんですが、Eclipseで書いてみたいと思います。
まずは、「ファイル」→「新規」→「Cプロジェクト」を選択します。
出来たプロジェクトを選択し、右クリックし、「新規」→「その他」で
Cのソースファイルを選びます
適当な名前でファイルを作成し、下記のコードを入れてみます。
#include <stdio.h> #include <highgui.h> int main(int argc, char** argv){ int key; // キーボードから入力されたキー格納用変数 CvCapture *capture; // カメラキャプチャ用構造体 IplImage *frameImage; // キャプチャ画像 char windowNameCapture[] = "Capture"; // キャプチャ画像を表示するウィンドウの名前 // カメラ初期化 if((capture = cvCreateCameraCapture(0)) == NULL){ // カメラが見つからなかった時 printf("カメラが見つかりませんでした"); return -1; } //ウィンドウ作成 cvNamedWindow(windowNameCapture, CV_WINDOW_AUTOSIZE); // メインループ while(1){ // カメラからの入力画像の1フレームをframeImageに格納する frameImage = cvQueryFrame(capture); // 作成したウィンドウに取得したフレームを表示する cvShowImage(windowNameCapture, frameImage); // 1ミリ秒の間にキーボードから入力されたキーを取得する key = cvWaitKey(1); // qが入力されていたら終了 if(key == 'q'){ break; } } // キャプチャを解放する cvReleaseCapture(&capture); // ウィンドウを終了する cvDestroyWindow(windowNameCapture); return 0; }
コンパイルや!
さて、コンパイルされる前にEclipse側で設定しておく必要があります。
プロジェクトを選択し、右クリックから「プロパティ」をクリックします。
開いたウィンドゥで「C/C++ 一般」→「パスおよびシンボル」を選択し、「インクルード」から「追加」ボタンを押し、"/opt/local/include/opencv"を選んでOpenCVのヘッダファイルの場所を指定します。
次にライブラリの場所を指定するために同じ「C/C++ 一般」→「パスおよびシンボル」から「Library Paths」を選択し、「追加」ボタンを押し、"/opt/local/lib"を選びます。
最後に実際に引き込むライブラリを指定します。
開いているプロパティのウィンドゥから「C/C++ ビルド」→「設定」→「ツール設定」から「MAC OS X リンカー」→「ライブラリー」を選択します。
そこから追加で各ライブラリ(highgui,cxcore,ml,cvaux,cv)を追加します。
これでビルド可能になりました!
しかし、ビルド後のファイルを実行するとこんな結果に。。。。
# ./OpenCV カメラが見つかりませんでした
う〜ん、なんでやろ。。。