MonoとC#を使用してvideo-4-linuxデバイス(例:/ dev / video0)からフレームをキャプチャするにはどうすればよいですか?OSはBeagleBoardで実行されているAngstromLinuxです。
3 に答える
私はCを使用してv4l2キャプチャを実行しました。これは、おそらく私がそれを実行するために選択した唯一の言語です。ドライバーにする必要のある低レベルの呼び出しがたくさんあります。カーネルメモリをアプリにマッピングし、バッファをコピーする必要があります。また、デバイスに大量の構成を設定する必要があります。必要に応じて、Cライブラリを作成してPlatformInvokeを使用することを検討します。もう1つの方法は、2つのプログラムを作成し、ある種のIPCを介してデータをC#アプリに送信することです。
これにはEmguCVを使用できます。これは、Monoを使用してコンパイルできることを明確にアドバタイズします。
メインサイト:http:
//www.emgu.com/wiki/index.php/Main_Page Monoでのコンパイル :http:
//www.emgu.com/wiki/index.php/Compiling_with_Monodevelop Webカメラビデオをキャプチャするためのサンプルコード:http : //www.emgu.com/wiki/index.php/Camera_Capture_in_7_lines_of_code
私はLinux上のMonoまたはC#に精通していませんが、ダイバーAPIまたは合理的な抽象化を公開するインターフェイスモジュールを作成する必要があるかもしれません。そうすれば、モジュールをC#コードでインポートできるようになると思います。MonoはDLLImportをサポートしているようです。