问题标签 [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 投票
1 回答
430 浏览

android - 屏幕截图和相机预览不能同时工作

在此处输入图像描述

左侧的这张图片显示了单击任何按钮之前的应用程序。我已经使用 camera2 google github 示例将背景设置为相机预览。右边的图片是我点击takePicture按钮的时候。图片不显示!屏幕截图和相机不能同时工作吗?另外我应该如何摆脱顶部出现的黑条?任何帮助,将不胜感激。也许在我截屏之前锁定相机的焦点?

0 投票
2 回答
110 浏览

android - ImageView 不适合屏幕的两侧

好吧,我的应用程序应该让我拍一张我的脸并显示它,直到我删除它,我可以再拍一张。当我第一次打开应用程序时发生的事情是布局背景的粉红色侧线显示,但是当我拍照时,粉红色线条消失了。这不应该发生,因为我将背景位图设置为的 imageview 在宽度和高度上是 match_parent

第二个问题是,当我将背景图像视图设置回背景时,之前的背景在中心是透明的,因此即使我将其设置回来,您也不会看到相机指向的位置。屏幕应该恢复到透明中心,但它会保留运行 takePicture 时截取的屏幕截图。感谢您的帮助,因为我现在正在拔头发

在此处输入图像描述



XML

0 投票
2 回答
3040 浏览

java - 将 YUV_420_888 转换为字节数组

我正在测试新的 Camera2 API,并且能够以YUV_420_888格式捕获相机预览。接下来我需要做的是将此数据提供给接受byte[]参数的图像处理库。

我找到了转换YUV_420_888为 RGB等的示例,但我仍然需要将生成的 Bitmap 转换为byte[]through ByteArrayOutputStream,经过试验,这极大地减慢了应用程序的速度。

我的问题是,我如何有效地转换YUV_420_888byte[]

0 投票
2 回答
20036 浏览

android - Android Camera2 API 切换后置 - 前置摄像头

我正在使用新的 camera2 API 创建自定义相机捕捉视频。

我的代码受到 Google此处提供的代码的强烈启发。我的相机预览有一个按钮,可以从后置摄像头切换到前置摄像头,然后从前置摄像头切换到后置摄像头。默认情况下,使用后置摄像头启动“相机预览”活动。

出于某种原因,当我第一次单击“切换/交换摄像头”按钮,它应该会带到前置摄像头,但是每次我再次单击时,切换/交换不再起作用:预览(在前置摄像头上)会稍微变淡,就像发生了什么事情一样,但它仍保留在当前选定的(前置)摄像头上。

这是我的代码:

在一个RecordVideoFragment,在onViewCreated

这是switchCameras()功能:

如果您对正在发生的事情有任何想法,那将拯救我。这几天我一直在窃听。非常感谢

0 投票
0 回答
759 浏览

android - 为 ImageReaders 表面设置快门速度失败(android camera2 api)

我在我的 android 应用程序中使用 camera2 api 并想手动控制快门速度。这就是我设置快门速度的方式:

这就是我创建 CaptureRequestBuilder 的方式:

问题是当我设置快门速度时,它只设置 1 秒或 1 帧然后重置。但是当我不将 ImageReaders 表面添加到 CaptureRequestBuilder 目标输出时,它可能仅适用于 TexturePreview 表面。所以我认为问题出在 ImageReader 中。

有人知道这个问题的解决方案吗?

PS 其他设置(如 ISO 和曝光补偿)适用于两个表面。

0 投票
2 回答
12022 浏览

android - 使用 Android camera2 获取全屏预览

我正在使用新的 camera2 API 构建自定义相机。我的代码基于谷歌在此处提供的代码示例。

我找不到全屏获取相机预览的方法。在代码示例中,他们使用比率优化来适应所有屏幕,但它只占用屏幕高度的 3/4 左右。

这是我的代码AutoFitTextureView

}

非常感谢您的帮助。

0 投票
1 回答
78 浏览

android - 带有较旧 API 的 Android CameraAccessException 生成 lint 错误

我正在尝试创建一个同时支持 Camera 和 Camera2 的 Android 应用程序,我已经通过使用 if 语句检查 API 级别的适当代码部分来做到这一点。但是,我在处理 CameraAccessException 时遇到了麻烦,因为我遇到了一个 lint 错误,但我不确定如何摆脱它。如果我用检查 API 级别的 if 语句包围 try/catch,则 lint 错误不会消失。有没有其他方法可以消除 lint 错误?我宁愿不压制检查。这是我正在谈论的一个例子:

该段代码中的两个 catch 语句都生成 lint 错误“类需要 API 级别 21”。

0 投票
0 回答
806 浏览

android - Camera2 输出表面因 Android 5.0 上的 RenderScript 分配而失败

我在某些 Android 5.0 设备上使用 Android 的 Camera2 API 使用 RenderScript 分配作为预览输出表面时遇到问题,我正在努力找出原因。

我创建输入分配如下:

然后将此分配用作请求构建器和捕获会话的预览表面:

但是,每当我尝试在会话中进行捕获时,例如以下内容onConfigured

它会引发 IllegalArgumentException 和错误日志,如下所示:

这个完全相同的代码在我测试过的 6.0 设备上没有问题,如果我将预览表面更改为 ImageReader,5.0 设备也可以工作。

0 投票
2 回答
3840 浏览

android - Android Camera2 ImageReader 图像格式 YUV

我有一个可以进行运动检测和视频录制的 Android 应用程序。它同时支持 Camera 和 Camera2 API,以提供向后兼容性。我正在使用带有 Camera2 API 的 ImageReader 来进行运动检测。我目前正在请求 JPEG 格式的图像,这非常慢。我知道请求 YUV 图像会更快,但是 YUV 格式是否会因使用的设备而异?我只是想在我放弃优化之前检查一下。

0 投票
2 回答
1155 浏览

android - 在 ImageSaver 中传递给 DngSaver 的 CaptureResult 为空 camera2 api

在我使用 camera2api 构建相机应用程序的过程中,我在尝试保存原始图像时遇到了一个小问题。

我将捕获结果分配给以下代码中的成员。

当我在这个位置调试它时,成员被分配而不是 null。DngCreator但是,当它在类中引发空错误时ImageSaver

我的听众:

我的图像保护程序类:

现在,当我尝试初始化 DngCreator 并且堆栈跟踪如下时,它给了我一个错误。

FATAL EXCEPTION: Camera2 Background Thread Process: com.something.something, PID: 5162 java.lang.IllegalArgumentException: Null argument to DngCreator constructor at android.hardware.camera2.DngCreator.<init>(DngCreator.java:89) at com.something.something.ControlCameraActivity$ImageSaver.run(ControlCameraActivity.java:328) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.os.HandlerThread.run(HandlerThread.java:61)

有人可以帮我解决这个问题吗?如果您需要我提供更多信息,请立即告诉我。谢谢