WindowsXPでOpenCV2.3.1を使用して、Claron MicronTrackerカム(FireWire)から画像をキャプチャしようとしています。機能cvCaptureFromCAM
しません。OpenCVはWindowsプラットフォームでUSB以外のデジタルカメラからデータを取得できないことを読みました-これは本当ですか?WindowsでOpenCVを使用してFireWireカムからデータを取得するための解決策はありませんか?
私を助けてください。
WindowsXPでOpenCV2.3.1を使用して、Claron MicronTrackerカム(FireWire)から画像をキャプチャしようとしています。機能cvCaptureFromCAM
しません。OpenCVはWindowsプラットフォームでUSB以外のデジタルカメラからデータを取得できないことを読みました-これは本当ですか?WindowsでOpenCVを使用してFireWireカムからデータを取得するための解決策はありませんか?
私を助けてください。
あなたは確かにWindowsのFirewireカメラでOpenCVを使うことができます。私はこれをいくつかの異なるFirewireカメラベンダー(Point Grey、Imaging Sourceなど)で行いました。残念ながら、OpenCVVideoCapture
クラスを使用してこれを行うことはできません。
オプションは、CMU1394ドライバー(上記のカメラが互換性があると仮定)を使用するか、ベンダーのカメラドライバーを使用してフレームをキャプチャし、それらのデータバッファーをに配置することcv::Mat
です。カメラパラメータの特定の制御が必要な場合、最善の策はベンダーのドライバを使用することです。これにより、ほとんどの制御が可能になりますが、カメラにしっかりと結合されます。サブクラス化VideoCapture
し、同じインターフェイスの下にベンダーのドライバーを実装して、その結合をいくらか軽減することができます。
これは、CMUドライバーを使用してこれを行う簡単な例です。
編集:私は今日、OpenCVが2010年5月からCMU互換カメラのサポートを組み込んでいることを知りました。これを実装するクラスはここにあります。これがデフォルトでライブラリにコンパイルされているとは思いません。したがって、ソースから自分でOpenCVを構築する必要があります。行を機能させるには、行のコメントを解除する必要があります//#define HAVE_CMU1394 1
。お役に立てば幸いです。