问题标签 [camera2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
11148 浏览

android - Android camera2: java.lang.IllegalStateException: maxImages(1) 已经获取,获取更多之前调用#close

您好,无法解决此问题。

我已经在 ImageAvailable 回调中调用了一个 imageReader.close,但仍然出现错误:

java.lang.IllegalStateException: maxImages (1) 已经被获取,获取更多之前调用#close。

我的代码在这里:

附言。我也使用参数阅读器,但似乎没有解决问题

0 投票
2 回答
9975 浏览

android - 使用 camera2 与已弃用的 Camera - 最佳做法是什么?

我正在编写一个相机是必不可少的功能的应用程序。在这方面,我想100%确定以下几个方面:

  1. 如果我使用已弃用的相机:该应用程序现在是否仍可在所有 API 上运行?
  2. 如果 1) 是:在什么时候这个应用程序将不再在所有 API 上运行(我的应用程序应涵盖最低 API 17)?
  3. 我在哪里可以找到有关 2) 的最新官方信息,即计划内容和时间?
  4. 说,我现在已经使用新的 camera2,我的理解是该应用程序不会在低于 21 的任何 API 上运行 - 对吗?
  5. 根据我目前获得的信息,我的工作假设是:现在仍然使用已弃用的相机。但是请继续关注 API 的市场份额并尽快开始学习 camera2,以便在未来 2-3 年内将应用程序切换到 camera2。你同意吗?

无论如何,使用设备的摄像头并使其在几乎所有目标设备上运行都非常棘手(因为现在我很高兴掌握了“旧”摄像头......)。因此,我真的很想确定以上几点。非常感谢您的回答。

0 投票
1 回答
2124 浏览

android - 如何使用camera2 API同时为照片和视频设置相机预览?

我的应用程序提供了一个相机,它允许用户拍照或录制视频。我不可能知道用户会选择哪个动作。所以我需要为这两个动作提供相机预览。使用旧的相机 API 完全没有问题,但我不确定 camera2 API。

我已经彻底浏览了这两个谷歌示例:Camera2BasicCamera2Video ,我注意到预览构建器使用CameraDevice.TEMPLATE_PREVIEW拍照:

对于视频录制,它使用CameraDevice.TEMPLATE_RECORD

我已经检查了CameraDevice类中所有模板的描述,但仍然不确定在我的情况下什么是正确的方法。我曾尝试设置TEMPLATE_PREVIEW进行视频录制,它工作正常,但我是否正确理解在这种情况下视频质量可能较低?因为在文档中它说如下:

具体来说,这意味着高帧率优先于最高质量的后期处理。

0 投票
1 回答
2016 浏览

android - Android Camera2 焦点区域

我正在使用新的 Camera2 api 尝试实现触摸焦点,但似乎找不到与 Camera1 api setFocusArea() 等效的东西。我希望用户能够触摸预览屏幕并将相机聚焦在该区域。在新 API 中似乎没有任何与 xy 位置相关的函数。

0 投票
2 回答
6330 浏览

android - Camera2 API - 如何设置长曝光时间

我正在尝试在我的应用程序中以 30 秒的曝光时间拍摄图像(我知道这是可能的,因为库存相机允许这样做)。

但是 SENSOR_INFO_EXPOSURE_TIME_RANGE (它应该以纳秒为单位)给了我范围:

几秒钟后就可以了

这显然不到一秒钟。

如何使用更长的曝光时间?

提前致谢!。

0 投票
0 回答
1472 浏览

android - 将 YUV 图像转换为 RGB 会导致图像偏绿

作为使用API捕获的结果,我得到了Image格式。我需要将图像转换为 RGB 格式,但是生成的图像的颜色是错误的。YUV_420_888Camera2

在此处输入图像描述

这是使用 OpenCV 执行转换的函数:

我认为将来自 3 个平面的字节附加到字节数组中的方式是正确的,所以错误可能在其他地方?


解决了

显然,Android API 21 中存在一个错误,导致 U 和 V 数组除了几个字节外全为 0,从而导致图像为绿色。API 22 已修复此问题。

0 投票
2 回答
1752 浏览

android - 使用 Android 的 Camera2 API 进行视频广播

我正在尝试制作一个通过互联网广播视频的应用程序,目前我正在使用已弃用的 Camera API,将 Camera.PreviewCallback 添加到 Camera 对象,然后发送来自 Camera.PreviewCallback 的 onPreviewFrame() 方法中的字节数组.

但现在我想测试新的 Camera2 API,我正在看Camera2BasicTutorial,我认为我需要制作一个 CameraCaptureSession.CaptureCallback 对象来获取图像字节数组,就像教程说的那样:

然后将其添加到 CameraCaptureSession:

问题是我不知道如何从 CaptureCallback 的 onCaptureCompleted() 中的任何参数中检索每个图像字节数组。

有什么帮助吗?

0 投票
2 回答
2671 浏览

android - 调用 Camera2 API onCaptureComplete() 但相机状态仍为 CONTROL_AE_STATE_PRECAPTURE

我正在尝试创建一个应用程序,该应用程序使用camera2 API从服务中获取一些照片。

我可以让应用程序从基于Camera2Basic 示例的片段中很好地拍照。

但是,当我尝试移至服务时,图像无法正确完成捕获。它永远不会超过自动曝光预捕获状态。

我把它缩小到没有预览的问题。我通过采用Camera2Basic代码并删除预览来组合一个测试片段,这会导致相同的问题。

我根据 Camera2Basic 示例整理了一个有问题的测试片段,我基本上只是删除了预览代码。此处上传的片段代码http://pastebin.ca/3182401

我得到了onCaptureCompleted()回调,但是当我在这里检查相机自动曝光状态时,它仍处于CONTROL_AE_STATE_PRECAPTURE状态。

如果其中一个相机状态仍处于预捕获状态,那么捕获将完成对我来说没有任何意义。

有人知道这里可能会发生什么吗?

0 投票
1 回答
1153 浏览

android - 如何成为RAW格式的预览流(Camera2 API,ImageFormate.RAW_SENSOR)?

你好,我有一个非常困难的问题。我得到了 nexus 6,我想在 camera2 API的 RAW fromat (ImageFormate.RAW_SENSOR)中获得预览流。这甚至可能吗?

我使用 android-Camera2Raw ( https://github.com/googlesamples/android-Camera2Raw )

0 投票
0 回答
3895 浏览

android - 如何在 Android 中使用 Camera2 正确检测人脸?

我目前正在使用android.hardware.camera2模块来检测人脸。

我用参考修改了我自己的代码

https://github.com/googlesamples/android-Camera2Basic

安卓camera2人脸识别

但是,我遇到了与上面的链接相同的问题。就我而言,当我使用 Galaxy S4、android 5.0 运行代码时,它似乎工作正常(人脸检测工作正常)但是当我使用 Galaxy S6、android 5.1 运行相同的代码时,无法识别上面的链接所说的面部。

我怎么解决这个问题?或者,是否有关于使用 camera2 进行人脸检测的简单教程?