cvSetCapturePropertyでキャプチャサイズを指定できないので、VideoInputを使ってみた。
OpenCVを使うと簡単にUSBカメラ/WebCamの画像を取り込むことが出来る。
しかし、手持ちのLogicool WebCam Coolで640x480の解像度で取り込むことが出来ない。
以下のどちらも効かない。
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, 640);
cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, 480);
同じことを訴えている人たちもぐぐるといるので、OpenCVでは無理そうだ。
そこで、VideoInputというライブラリを試した。
結論から言うと、Logicool WebCam Coolで640x480の画像を取り込むことが出来た。
また、動作は軽快だ。
使い方はいたって簡単だ。
VS2005またはVS2008で、ライブラリ、インクルード、そしてリンカ・入力の設定を済ませる。
ヘッダーのインクルード。
#include <videoInput.h>
初期化。
videoInput VI
int numDevices = VI.listDevices()
if(numDevices == 0) {
//初期化失敗処理
}
VI.setupDevice(0, 640, 480);
画像をピクセルで取り出す。
unsigned char *c;
c = VI.getPixels(0, false);
OpenCV形式に取り込む方法。
IplImage *image->imageData = (char *)VI.getPixels(0, false);
終了処理。
VI.stopDevice(0);
ラベル: OpenCV

0 件のコメント:
コメントを投稿
登録 コメントの投稿 [Atom]
この投稿へのリンク:
リンクを作成
<< ホーム