2011年7月10日日曜日

OpenCV カメラの指定

Point Greyのカメラ(Micron Tracker)のデバドラとライブラリなどをインストールしたら、OpenCVでUSBカメラの読み込みができなくなった。




今までの設定は以下のとおり。




VideoCapture cap;

cap.open(0);







原因を探すために、デバッグでたどってみた。

エラーは

cap_dshow.cppの中の







//NOW LETS DEAL WITH GETTING THE RIGHT SIZE

hr = VD->streamConf->GetFormat(&VD->pAmMediaType);




カメラのフォーマットがとってこれないってとこ。

Point GreyのカメラはFlyCapでフォーマットを初期設定しないといけないから止まったのかな。

参考:http://nonnon-in-a-well.blogspot.com/2011/05/micron-tracker2.html







順に見てみると、デバイス(カメラ)をリストアップして、deviceIDでどのデバイス(カメラ)を読むか決めている。

それで、読もうとしていたのが"Point Grey Camera"だった。







//FIND VIDEO DEVICE AND ADD TO GRAPH//

//gets the device specified by the second argument.

hr = getDevice(&VD->pVideoInputFilter, deviceID, VD->wDeviceName, VD->nDeviceName);








ここのdeviceIDが0だったわけだね。

Point Greyをインストールしたせいで、デバイスのリストアップの順序が変わったらしい。

それで、deviceIDを1にしたら問題なく読み込めた。




VideoCapture cap;

cap.open(1);

0 件のコメント:

コメントを投稿