2

マネージ C# で Web カメラから画像 (ビデオ ストリームではなく画像のみ) を取得する方法を見つけようとしています。通常、人々はライブラリを提案しますが、それらは古いか、商用であるか、または gpl の下にあります。

サードパーティのライブラリなしでウェブカメラから画像を取得するには?

更新: Media Foundationに感謝します。それを使用します。

4

3 に答える 3

3

Web カメラは、静止画ではなく、ビデオ フィードを配信することになっています。したがって、興味のあるネイティブ API は、ビデオ キャプチャ用のもので、DirectShow と Media Foundation です。

最も可能性が高いのは DirectShow ですが、マネージド コードからのインターフェイスにはあまり適していないため、オープン ソース ラッパーであるDirectShow.NETが必要になります。通常、そこでビデオ ストリーミングを開始し、良い画像が得られたらアクティビティを停止します。

または、代わりに、上記の機能を実行するすぐに使用できるライブラリを探し続けることもできます。

DirectShow.NET サンプルの 1 つは、探していることを実行します。

DxSnap – DirectShow を使用して、キャプチャ デバイスの Still ピンからスナップショットを取得します。MS はこれに WIA を使用することを推奨していますが、DirectShow と C# を使用する場合は、次のようにします。

WIA について言及していますが、WIA API はすべての (または最近の OS のいずれか?) Web カメラで利用できるわけではなく、WIA はスキャナーなどのより多くのターゲット デバイスを対象としています。

他の API はおそらくあまり適していません。

  • VFW (「avicap32.dll」) は、デバイスのサブセットに限定され、単純ですが、マネージ コードへのインターフェースが適切ではありません
  • Media Foundation は、以前の OS バージョンでは十分に利用できません
于 2012-10-04T12:15:45.857 に答える
1

私は何年も前にこれを書きました

http://www.vbforums.com/showthread.php?344471-Vb.Net-WebCam-Class-(ICam))in VB.net

あなたはそれをc#に簡単に移植できますか?

于 2012-10-04T12:06:45.227 に答える
1

avicap32.dllは問題外ですか?

そうでなければ、これは単純で簡単な方法だと思います。

http://www.creativecodedesign.com/node/66

http://www.c-sharpcorner.com/uploadfile/yougerthen/integrate-the-web-webcam-functionality-using-C-Sharp-net-and-com-part-viii/

于 2012-10-04T12:07:37.380 に答える