2017-09-05 100 views
1

我正在开发一个.Net核心2.0中的应用程序,运行在运行Win 10 IoT的Raspberry Pi上。 Pi有一个USB摄像头连接,我正在寻找从相机捕捉静止图像。不幸的是,至少可以说这证明有点麻烦。从.net核心2.0中的WebCam捕获图像

首先,我通过.Net Core 2.0库进行了很好的搜索,看看是否有任何东西可以提供这种功能,但没有任何运气。

我的第二个问题是NuGet,看是否有任何第三方库可以完成这项工作。 EmguCV看起来很有前途,但他们似乎还没有支持.Net Core。

最后我搜索了任何可能做这件事的事情,并且在Windows.Media.Capture中遇到了UWP中的MediaCapture类,但是我没有成功地从我的.Net Core控制台应用程序中引用它。看起来你可以参考UWP解决方案中的.Net核心程序集,但我还没有找到一种方法来反过来。考虑到我宁愿将项目保留在.Net Core 2.0中,而不是为UWP重写,我正在寻找从WebCam捕获静止图像的任何方法。任何指针都会受到感谢,因为这被证明令人惊讶地令人沮丧。

回答

4

其实对于捕捉图像和其他图像处理活动,可能你可以试试OpenCvSharp

它支持.Net核心。

https://github.com/shimat/opencvsharp

NuGet包可用(寻找更多的细节在上面的链接)。

以下是捕捉视频的示例。

https://github.com/shimat/opencvsharp/wiki/%5BCpp%5D-Capturing-Video

,如果你输入过0(零)VideoCapture,它应该打开默认的摄像头。

像这样(没试过):

VideoCapture capture = new VideoCapture(0); //assumption based on how actual openCV works. 
+0

感谢这个 - 我终于可以尝试它和它运作良好,在模拟环境。接下来的工作是部署到设备上,看看它的价格 – Pete