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 件のコメント:
コメントを投稿