3

デジタル ビデオ/スチル カメラ (DSLR 以外の民生用カメラ) のテザー操作を提供するプログラムを作成して、カメラをコンピューター (USB またはその他) に接続し、その機能を使用できるようにしたいと考えています (写真を撮る、ビデオの録画、ズーム、フォーカスなど)。現時点で想定しているプラ​​ットフォームは Linux です。

私の知る限り、一部のメーカー (Canon、Olympus、Nikon) を除いて、製品の SDK を提供しているメーカーはありませんが、DSLR のみを対象としています。

私は c++ は初めてではありませんが、それを使った多くのプロジェクトに取り組んだことはありません。ただし、私は OpenCV にまったく慣れていないため、このライブラリの機能をまだ知りません。opencv のビルドと構成をテストするために、Web カメラからストリームを取得してフォームに表示するだけの簡単なアプリを作成しました。(cvCreateCameraCapture を使用)

これはデジタルカメラやビデオカメラで動作しますか? 「ウェブカメラモード」を利用できるようにする必要があると思いますが、それはそれほど一般的ではありません (少なくともカムコーダーでは)。firewire はどうですか、または他の HD 対応コネクタはありますか? それらは OpenCV によって認識されますか? 可能であれば、HDMI とキャプチャ デバイスから離れたいと思います (追加料金)。

だから私の質問は、誰かがこのようなプロジェクトの経験があれば、そのような用途に適したカメラの仕様は何ですか (どのような機能ですか)? そして、私のトラブルを緩和するために利用できるライブラリはありますか:)

libgphoto2 も調べています。また、必要に応じて、可能であれば libusb を使用してカメラのドライバーを作成するなどのことを試みますが、正直なところ、どこから始めればよいかわかりません。USB ポートを (ネイティブ ドライバーで) スニッフィングした後、その情報をどうするか?

誰かがその主題にも光を当てることができれば、非常に感謝しています-開始方法、ドライバーソフトウェアの作成に関する推奨する良い本はありますか?

また、Linux Kino も同様の機能を提供していることは知っているのでソースを調べてみましたが、IEEE 1394 だけなのでしょうか?

最後の質問ですが、カメラが USB 経由で接続されている場合、コンピュータの起動時にカメラが自動的に起動するようにするにはどうすればよいですか?

長文失礼しました、

ありがとう、そして最高の願い!

マテック

4

1 に答える 1

3

USB 接続されたデバイスと通信するプログラムを開始するには、次udevのようにルールを追加しますATTR{device}例に示すようにand ATTR{vendor}and notを使用することもできますKERNEL

カメラ自体に関しては、古い Canon P&S カメラテザー撮影が可能です。一部はgphotoでサポートされています。カメラが Linux でサポートされていなくても、他の OS でテザリングできる場合は、サポートをリバース エンジニアリングする必要があります。はい、付属のソフトウェアからコマンドを発行し、USB ポートをスニッフィングし、メッセージ フォーマットを把握し、プログラムに libusb2 を介してメッセージを読み書きさせます (または、libgphoto2 にサポートを追加することもできます)。

もう 1 つの可能性は、Android ベースのカメラ (電話ではなく、実際の P&S) です。NikonとSamsungの両方がこれらのものを作っています。おそらく何もリバース エンジニアリングする必要はありませんが、カメラ用の Android アプリを作成する必要がある場合があります。これを実行できるアプリがいくつかありますが、WiFi/3G 経由で動作するため、これは USB でも可能です。

于 2012-12-18T11:40:27.080 に答える