如何在通用Windows平台中访问相机框架

时间:2015-10-27 18:20:36

标签: c# camera windows-10 win-universal-app uwp

我正在通用Windows平台上开发Windows 10手机应用程序。我需要从设备相机中获取一个帧并进行一些处理;这应该发生在后台,用户不应该在UI中的任何地方看到相机。

有两个类可以处理最常见的用例,即CameraCaptureUIMediaCapture。 MediaCapture类允许抓取所谓的预览框架,但整个工作流程围绕将MediaCapture实例绑定到UI控件(即CaptureElement),如果我不这样做,那么我无法获取预览框架。这使得MediaCapture类不适合我的情况,除非有其他方法可以使用它我不知道。

对相关问题How to get preview buffer of MediaCapture - Universal app的回答建议使用Lumia Imaging SDK,但它针对的是Windows 8系列,目前用于Windows 10的Lumia Imaging SDK中已弃用其中使用的类和方法。

另外,上述答案会带来自定义媒体接收器,但我不确定这是否可以帮助我在我的场景中,如果是,那么我应该从哪里开始。

总而言之,如何从可用于在Windows 10通用应用程序中进一步处理的相机设备获取帧?

2 个答案:

答案 0 :(得分:0)

如何在UI中放置CaptureElement,但是使用overlay或将width / height设置为1来隐藏它?它是一种黑客,但它会为你提供框架。

答案 1 :(得分:0)

您可以使用多种选项。 CameraCaptureUI 不是其中之一。

完成后,您可以拍摄照片或获取预览帧。 CameraStarterKit会教你前者,CameraGetPreviewFrame会教你后者。