如何使用Mono在Linux摄像头捕捉?

如何使用Mono和C#从video-4-linux设备(例如:/ dev / video0)捕获帧? 操作系统是在BeagleBoard上运行的Angstrom Linux 。

我用C完成了v4l2的捕获。这可能是我选择的唯一一种语言。 您需要在驱动程序中进行很多低级调用。 您需要将内核内存映射到您的应用程序并复制缓冲区。 您还必须为设备设置一大堆配置。 如果你需要,我会考虑写一个C库和使用平台调用。 另一种方法是编写两个程序,并通过某种IPC将数据发送到您的C#应用​​程序。

你可以使用Emgu CV来实现这个功能,它特别宣称它可以使用Mono进行编译。

主要网站: http : //www.emgu.com/wiki/index.php/Main_Page
单声道编译: http : //www.emgu.com/wiki/index.php/Compiling_with_Monodevelop
捕捉摄像头视频示例代码: http : //www.emgu.com/wiki/index.php/Camera_Capture_in_7_lines_of_code

我对Linux上的Mono或C#不熟悉,但是您可能需要编写一个暴露了潜水员API的接口模块,或者一个合理的抽象。 我想你可能能够在C#代码中导入模块。 它看起来像Mono支持DLLImport。

http://www.mono-project.com/Interop_with_Native_Libraries