CameraX ImageAnalysis 设置的 TargetResolution 小于 640x480

2024-03-23

我试图通过向 CameraX 的 ImageAnalysis 提供 480x360 图像来提高人脸检测率。然而,以下代码生成 640x480 图像,从而将检测速度降低至 10 fps。如果我提供 480x360,我可以将速率提高到 20。

  1. 如何获得较小的目标分辨率和默认值

  2. 是否可以将我获得的用于图像分析的图像显示为预览。与预览用例相反。这样一来,人脸检测总体上不会与预览有很大的滞后。

    图像分析 图像分析 = 建设者 .setTargetResolution(新尺寸(360, 480)) .setTargetRotation(旋转) .setBackPressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST) 。建造();


如何获得较小的目标分辨率和默认值

默认按照docs https://developer.android.com/reference/androidx/camera/core/ImageAnalysis.Builder#setTargetResolution(android.util.Size)应该是 640x480。

至于如何获得更小的目标分辨率,我可以想象三种可能性。

  1. 您在某处错误地引用了 imageAnalysis 对象,并且它忽略了您的构建器,并默认为默认分辨率 640x480。
  2. 您的相机不支持 Size(360,480) 分辨率,支持的最接近的分辨率是 640x480。
  3. 您以错误的顺序引用“尺寸”,即“尺寸”(360, 480) 可能会导致选择的分辨率与“尺寸”(480, 360) 不同。 (您在问题中以两个顺序引用它们)。

根据docs https://developer.android.com/reference/androidx/camera/core/ImageAnalysis.Builder#setTargetResolution(android.util.Size)

目标分辨率尝试建立图像分辨率的最小界限。实际图像分辨率将是尺寸上最接近的可用分辨率不小于目标分辨率,由相机实现确定。但是,如果不存在等于或大于目标分辨率的分辨率,则将选择小于目标分辨率的最接近的可用分辨率。

所以,我会尝试一些较小的尺寸,例如Size(200, 200) 并查看支持哪些较小的分辨率并从那里放大。

有没有办法将我获得的图像分析图像显示为预览。与预览用例相反。这样一来,人脸检测总体上不会与预览有很大的滞后。

我不确定为什么您认为这会更快,因为这似乎会序列化操作而不是同步执行它们。

如果您需要这方面的进一步帮助,请提供有关创建 ImageAnalysis 实例的所有代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CameraX ImageAnalysis 设置的 TargetResolution 小于 640x480 的相关文章

  • Android人像相机可靠性

    我正在开发一个针对 SDK 8 的应用程序 最小 SDK 7 使用相机视图 显然 旋转相机拍摄肖像的问题已经引起了相当多的讨论 我目前有以下修复程序将 SDK 7 和 8 分开 if android os Build VERSION SDK
  • JavaCV 录像机方向在纵向模式下不正确

    嗨 我正在使用https github com bytedeco javacv https github com bytedeco javacv 用于录制视频 使用横向模式时方向很好 但当我将方向更改为纵向模式时 视频旋转 90 度 任何人
  • 为捕获的图像创建单独的文件夹时出现 FileUriExposedException

    我正在尝试使用下面的代码将相机捕获的图像存储在单独的文件夹中 但是当我执行此代码时 我遇到异常 我尝试了很多方法来获取解决方案 但没有用 有人可以帮助我吗 android os FileUriExposeException file sto
  • 正确处理异常:“getParameters failed(空参数)”

    我在 Google Play 商店中有一个安装了 Google Analytics 的相机应用程序 我不断收到以下崩溃报告 获取参数失败 空参数 我的问题是 处理这个问题的正确方法是什么 调查 Android 源代码并没有给我任何额外的细节
  • 处理大位图

    我只想从我的应用程序打开本机相机应用程序来捕获照片并将其设置为屏幕的背景图像 然后单击按钮旋转它 如果使用 3MP 相机拍摄 照片会旋转 n 次 如果我将相机分辨率设置为 5MP 或更高 应用程序将在第五次单击按钮时强制关闭 照片旋转 4
  • 如何在 Android 中拍照、保存并获取照片

    我一直在搜索拍摄照片的简单示例 并使用 URI 保存它并检索照片进行图像处理 我尝试了很多示例代码 但没有一个顺利 有人有示例代码吗 像这样定义一个变量 protected static final int CAPTURE IMAGE AC
  • 如何让 CameraX 预览在拍照时冻结?

    我的自定义 CameraX 流程如下 打开相机预览 实时 点击按钮拍照 单击该按钮时有一个过程 将路径转换为位图 旋转图像 自动裁剪图像 保存到设备中 运行所有进程并成功后 将图像发送到其他Fragment并将其显示为glide 问题是何时
  • Android 中某些相机分辨率下的不同捕获输出大小

    我正在使用 Android Camera2 API 开发一个自定义相机应用程序 您可以在手机中可用的不同相机和视频分辨率之间切换 它还提供了拍摄 1 1 方形照片的可能性 为了拍摄方形照片 我拍摄了一张正常的 4 3 照片 然后将其裁剪以保
  • 在自动模式下如何获取相机准确的白平衡参数值?

    我有一个Camera http developer android com reference android hardware Camera html白平衡设置为自动的对象 是否可以找到在拍照时应用的真实白平衡参数 似乎没有办法做到这一点
  • 如何从 Android 中的自定义 CameraView 捕获图像?

    我需要捕捉图像 from 所需部分 of the screen 捕捉图像 from camera 当时其他屏幕内容保持原样 这怎么样possible 尝试使用表面视图 for 创造动态 camera查看并设置您需要的部分 下面的代码尝试 变
  • 如何使用Android 4.4中出现的ImageReader?

    Android 4 4 Kit Kat 推出了图像读取器 http developer android com reference android media ImageReader html用于访问 Surface 中的图像的类 对于实时
  • 使用 ImageReader 读取 RGB 图像

    我正在尝试使用ImageReader从相机获取 RGB 图像 我在运行开发者预览版的 Nexus 5 上使用 Android 5 0 L 中的 Camera2 API 请注意 我是not询问如何将 YUV 转换为 RGB 我正在尝试直接从I
  • Android 中相机捕获图像的图像叠加

    我需要用相机拍照 同时在相机视图顶部显示叠加图像 拍照后 我需要保存用户在拍照时看到的内容 有人可以建议我吗 请 public void onPictureTaken byte data Camera camera Bitmap camer
  • Android-从前置摄像头拍照会旋转照片

    我正在 Android 中创建一个应用程序 用户只能在纵向模式下从前置摄像头拍照 我已经将相机视图固定为纵向 但拍照时它看起来是旋转的 最糟糕的是 不同手机的旋转方向不同 在一部手机中向右旋转 而在另一部手机中则向左旋转 这是我的代码片段
  • 保存在 ImageView 中时,从自定义相机拍摄的图像会被拉伸

    我正在使用此代码在 Imageview 中保存图片 但在 imageview 中保存时图像被拉伸 相机预览是完美的 单击右侧图像 但是当我在 imageview 中设置该图像时 图像被拉伸 public void onPicTaken by
  • Android 从相机预览中解码位图

    我正在尝试从相机预览中获取位图图像 我将在执行面部检测后对其进行一些处理并绘制一些叠加层 环顾四周后 我发现 onPreviewFrame 获取的字节数组无法直接解码为位图 需要使用 YuvImage 将其转换为正确的像素格式 而这正是我所
  • 手电筒打开时 Android 相机的奇怪行为

    我有以下 android 代码 这里用伪代码编写 mCamera configAndInitialize all I want to do before taking picture mCamera startPreview mCamera
  • 相机 java.lang.RuntimeException:setParameters 失败

    我使用创建了一个自定义相机应用程序this https github com davidgatti dgCam源代码 但在少数设备上 例如高分辨率设备 我得到 RuntimeException setParameters failed 我面
  • Marshmallow 中的手电筒控制

    我对最新 Marshmallow 版本中的相机 更具体地说是手电筒 有疑问 在任何棉花糖之前的版本上 我需要执行以下操作来打开 关闭闪光灯 private void turnFlashOn final Camera camera int f
  • Android Camera.takePicture() 有时不返回?

    我正在编写一个Android 拍照应用程序 该代码在 onPreviewFrame byte data Cameracamera 中从预览中获取帧后进行一些处理 问题在于 android hardware Camera 的函数 takePi

随机推荐