我正在 .Net Core 2.0 中开发一个应用程序以在运行 Win 10 IoT 的 Raspberry Pi 上运行。 Pi 连接了一个 USB 网络摄像头,我想从相机中捕捉静止图像。不幸的是,这至少可以说是有点麻烦。
首先,我对 .Net Core 2.0 库进行了很好的搜索,看看是否有任何东西可以提供此功能,但没有任何运气。
我的第二个查询是 NuGet,看看是否有任何第三方库可以完成这项工作。 EmguCV 有一段时间看起来很有前途,但他们似乎还不支持 .Net Core。
最后,我在 google 上搜索了任何可能完成这项工作的东西,并在 UWP 的 Windows.Media.Capture 中找到了 MediaCapture 类,但我没有成功地从我的 .Net Core 控制台应用程序中引用它。您似乎可以从 UWP 解决方案中引用 .Net Core 程序集,但我还没有找到相反的方法。
请记住,我更愿意将我的项目保留在 .Net Core 2.0 中,而不是为 UWP 重新编写,我正在寻找从网络摄像头捕获静止图像的任何方法。我们将不胜感激地收到任何指示,因为事实证明这令人非常沮丧。
最佳答案
对于捕获图像和其他图像处理事件,您可能可以尝试 OpenCvSharp。
它支持 .NET Core。
https://github.com/shimat/opencvsharp
NuGet 包 可用(在上面的链接中查找有关选择正确包的更多详细信息)。
这里是一个捕获视频的例子:
https://github.com/shimat/opencvsharp_samples/tree/master/CameraOpenCV
如果您将 0(零)作为输入传递给 VideoCapture
,它应该会打开默认摄像头。
像这样的(没试过):
VideoCapture capture = new VideoCapture(0); //assumption based on how actual openCV works.
关于c# - 在 .Net Core 2.0 中从网络摄像头捕获图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46063472/