首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getUserMedia锁定焦点/曝光

getUserMedia锁定焦点/曝光
EN

Stack Overflow用户
提问于 2015-03-29 09:12:37
回答 2查看 5.6K关注 0票数 23

我使用带约束的navigator.getUserMedia来访问用户的网络摄像头,使用提要作为HTML的源,然后将其流复制到drawImage a <canvas> context。我这样做是为了每隔一段时间拍一张快照。

我想要做的是,一旦页面开始拍摄快照,锁定getUserMedia相机的焦点/曝光,以便在快照间隔之间环境可以改变,而不会改变光平衡或相机重新对焦。

有谁知道这在JS端是不是可能的?

EN

回答 2

Stack Overflow用户

发布于 2019-09-15 14:27:14

标记为重复的:Take photo when the camera is automatically focused

首先-尽管这里可能是糟糕的实践-我将链接到为什么MediaCapture可能比预期的模糊或颗粒化:

为什么iPad / iOS上的本地摄像头分辨率与getUserMedia存在差异?

简而言之: MediaCapture在媒体源上做了很多转换,这可能会导致模糊或颗粒状的图像。

要解决此问题,请使用ImageCapture:

ImageCapture应用编程接口允许控制相机功能,如缩放、亮度、对比度、国际标准化组织和白平衡。最棒的是,Image Capture允许您访问任何可用的设备摄像头或网络摄像头的全分辨率功能。以前在Web上拍摄照片的技术使用的是视频快照,其分辨率低于静态图像的分辨率。

要解决问题,请执行以下操作:

你可以通过UX和缩放滑块来解决这个问题。下面是关于如何使用ImageCapture (静止图像)来实现这一点的信息。MediaCapture (视频源)不允许此功能。你可以使用MediaCapture,并有一个类似“手动模式”的按钮,允许用户选择正确的缩放比例来拍摄照片。

您还可以通过让更新循环在每次更新时执行n ImageCaptures来“模拟”相机,并使用缩放滑块。

https://developers.google.com/web/updates/2016/12/imagecapture

下面是一个关于如何使用它的示例/polyfill:https://github.com/GoogleChromeLabs/imagecapture-polyfill

确保您使用处理跨平台支持的最新getUserMedia polyfills:https://www.npmjs.com/package/webrtc-adapter

希望这能有所帮助

票数 1
EN

Stack Overflow用户

发布于 2017-12-04 08:38:55

前段时间我们也遇到了同样的问题。它只发生在某些设备上...但即使是同一品牌的设备也有不同的行为。浏览器/操作系统版本/驱动程序组合中的某些内容已损坏。在一些设备中,焦点被锁定,而在另一些设备中,焦点没有被锁定。我们检查了所有的API,我们尝试了初始化代码中的几十种变体,但最终得出的结论是没有明显的解决方案。

我们添加了一个按钮来重新启动所有,以便以某种方式减轻问题...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29324556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档