0

WindowsXPでOpenCV2.3.1を使用して、Claron MicronTrackerカム(FireWire)から画像をキャプチャしようとしています。機能cvCaptureFromCAMしません。OpenCVはWindowsプラットフォームでUSB以外のデジタルカメラからデータを取得できないことを読みました-これは本当ですか?WindowsでOpenCVを使用してFireWireカムからデータを取得するための解決策はありませんか?

私を助けてください。

4

1 に答える 1

2

あなたは確かにWindowsのFirewireカメラでOpenCVを使うことができます。私はこれをいくつかの異なるFirewireカメラベンダー(Point Grey、Imaging Sourceなど)で行いました。残念ながら、OpenCVVideoCaptureクラスを使用してこれを行うことはできません。

オプションは、CMU1394ドライバー(上記のカメラが互換性があると仮定)を使用するか、ベンダーのカメラドライバーを使用してフレームをキャプチャし、それらのデータバッファーをに配置することcv::Matです。カメラパラメータの特定の制御が必要な場合、最善の策はベンダーのドライバを使用することです。これにより、ほとんどの制御が可能になりますが、カメラにしっかりと結合されます。サブクラス化VideoCaptureし、同じインターフェイスの下にベンダーのドライバーを実装して、その結合をいくらか軽減することができます。

これは、CMUドライバーを使用してこれを行う簡単な例です

編集:私は今日、OpenCVが2010年5月からCMU互換カメラのサポートを組み込んでいることを知りました。これを実装するクラスはここにあります。これがデフォルトでライブラリにコンパイルされているとは思いません。したがって、ソースから自分でOpenCVを構築する必要があります。行を機能させるには、行のコメントを解除する必要があります//#define HAVE_CMU1394 1。お役に立てば幸いです。

于 2011-10-19T15:01:54.193 に答える