gpt4 book ai didi

android - 用于预览、记录和提取预览帧的 Camera 2 API 同时进行 Firebase 人脸检测处理

转载 作者:行者123 更新时间:2023-11-29 02:22:58 25 4
gpt4 key购买 nike

我的用例是当用户开始录制视频时,我需要录制视频并使用 Firebase 面部检测处理帧内用户面部的预览帧。我尝试按照以下方式进行操作,但某些预览已暂停。

我正在使用 googlesamples/android-Camera2Video代码库,我在其中添加了以下代码。

Camera2VideoFragment 类中:

private ImageReader mYUVImageReader;
private final ImageReader.OnImageAvailableListener mOnYUVImageAvailableListener
= new ImageReader.OnImageAvailableListener() {

@Override
public void onImageAvailable(ImageReader reader) {
Log.d(Camera2VideoFragment.TAG, "Bipin - onImageAvailable ");
}
}

openCamera 方法内部:

mYUVImageReader = ImageReader
.newInstance(mPreviewSize.getWidth()/16, mPreviewSize.getHeight()/16,ImageFormat.YUV_420_888, 2);
mYUVImageReader.setOnImageAvailableListener(
mOnYUVImageAvailableListener, mBackgroundHandler);

startRecording 方法内部:

   Surface imageSurface = mYUVImageReader.getSurface();
surfaces.add(imageSurface);
mPreviewBuilder.addTarget(imageSurface);

我也尝试在 startPreview 中设置 imageSurface 但没有成功,仍然面临相同的预览问题。请提供您的意见或纠正我这种情况的最佳方法是什么?

此处演示应用程序代码:https://github.com/bipinvaylu/Camera2Demo/tree/bipin

更新:[2019 年 1 月 10 日]我已将其重命名为 mYUVImageReader,请在此处找到详细信息:初始化:https://github.com/bipinvaylu/Camera2Demo/blob/bipin/app/src/main/java/com/camerademo/Camera2VideoFragment.java#L477在此处添加 ImageReaderSurface:https://github.com/bipinvaylu/Camera2Demo/blob/bipin/app/src/main/java/com/camerademo/Camera2VideoFragment.java#L540

我主要关心的是,是否可以通过使用同时向预览表面 (mTextureView.getSurfaceTexture())、记录 (mMediaRecorder.getSurface()) 和连续图像 (mYUVImageReader.getSurface()) 提供输出相机 2 API?

最佳答案

您还需要将新的 ImageReader Surface 添加到捕获 session 创建中。您不能在捕获请求构建器中包含 Surface,除非它也包含在 session 中。

同时设置的同时输出数量和分辨率也有限制。这些取决于支持的硬件级别和相机设备功能。请参阅 createCaptureSession 的文档对于那些表。

关于android - 用于预览、记录和提取预览帧的 Camera 2 API 同时进行 Firebase 人脸检测处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54091648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com