【Camera】多摄像头支持

和你一起终身学习,这里是程序员 Android

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

一、多Camera 概述
二、多摄像头举例
三、多摄像头支持列表
四、Camera 流配置
五、多摄像头客制化

一、多Camera 概述

Android 9通过一个新的逻辑相机设备引入了对多相机设备的API支持,该逻辑相机设备由指向同一方向的两个或多个物理相机设备组成。逻辑摄像机设备作为单个CameraDevice / CaptureSession公开给应用程序,允许与HAL集成的多摄像机功能进行交互。应用程序可以选择访问和控制基础物理相机流,元数据和控件。

图1。多相机支持

在此图中,不同的摄像机ID用颜色编码。该应用程序可以同时从每个物理相机流式传输原始缓冲区。也可以设置单独的控件并从不同的物理摄像机接收单独的元数据。

二、多摄像头举例

多摄像机设备必须通过 逻辑多摄像机功能发布

摄像机客户端可以通过调用来查询组成特定逻辑摄像机的物理设备的摄像机IDgetPhysicalCameraIds()。然后,作为结果一部分返回的ID将通过分别用于控制物理设备setPhysicalCameraId()。可以通过调用从完整结果中查询此类单个请求的结果getPhysicalCameraResults()

各个物理摄像机请求可能仅支持有限的参数子集。要接收支持的参数列表,开发人员可以调用getAvailablePhysicalCameraRequestKeys()

物理摄像机流仅支持非处理请求,并且仅支持单色和拜耳传感器。

三、 多摄像头支持列表

要在HAL端添加逻辑多摄像机设备:

对于运行Android 9的设备,摄像头设备必须支持用两个物理摄像头的相同大小(不适用于RAW流)和相同格式的物理流替换一个逻辑YUV / RAW流。这不适用于运行Android 10的设备。

对于运行Android 10且相机HAL设备版本为3.5 或更高版本 的设备,相机设备必须支持isStreamCombinationSupported 应用程序以查询是否支持包含物理流的特定流组合。

四、Camera 流配置

对于逻辑摄像机,特定硬件级别的摄像机设备的强制流组合与中的要求相同CameraDevice.createCaptureSession。流配置图中的所有流必须是逻辑流。

对于支持具有不同大小的物理子摄像机的RAW功能的逻辑摄像机设备,如果应用程序配置逻辑RAW流,则该逻辑摄像机设备不得切换到具有不同传感器大小的物理子摄像机。这样可以确保现有的RAW捕获应用程序不会损坏。

为了通过在RAW捕获期间在物理子摄像机之间切换来利用HAL实现的光学变焦,应用程序必须配置物理子摄像机流而不是逻辑RAW流。
逻辑摄像机及其基础物理摄像机都必须保证 其设备级别所需的 强制流组合

逻辑相机设备应基于其硬件级别和功能以与物理相机设备相同的方式操作。建议其功能集是单个物理相机的功能集的超集。

在运行Android 9的设备上,对于每种保证的流组合,逻辑摄像机必须支持:

  • 假定物理摄像机支持大小和格式,则用两个大小和格式相同的物理流替换一个逻辑YUV_420_888或原始流,每个物理流都来自单独的物理摄像机。

  • 如果逻辑摄像机不宣告RAW功能,但基础物理摄像机则宣告两个原始流,则从每个物理摄像机添加一个原始流。当物理相机具有不同的传感器尺寸时,通常会发生这种情况。

  • 使用物理流代替相同大小和格式的逻辑流。当物理流和逻辑流的最小帧持续时间相同时,这一定不能减慢捕获的帧速率。

###性能和功耗考虑
性能:

由于资源限制,配置和流式传输物理流可能会减慢逻辑摄像机的捕获速率。
如果将基础相机设置为不同的帧速率,则应用物理相机设置可能会降低捕获速率。
功率:

在默认情况下,HAL的功率优化将继续起作用。
配置或请求物理流可能会覆盖HAL的内部电源优化,并导致更多的电源使用。

五、多摄像头客制化

您可以通过以下方式自定义设备实现。

  • 逻辑摄像机设备的融合输出完全取决于HAL实现。关于如何从物理摄像机中导出融合逻辑流的决定对于应用程序和Android摄像机框架是透明的。
  • 可以单独支持各个物理请求和结果。此类请求中的可用参数集也完全取决于特定的HAL实现。
  • 从Android 10开始,HAL可以选择不发布中的某些或全部PHYSICAL_ID,从而减少应用程序可以直接打开的摄像头数量 getCameraIdListgetPhysicalCameraCharacteristics 然后,调用必须返回物理摄像机的特征。
    逻辑多摄像机设备必须像其他任何常规摄像机一样通过摄像机CTS。可在LogicalCameraDeviceTest 模块中找到针对此类设备的测试用例 。

这三个ITS测试针对多相机系统,以促进图像的正确融合:

Scene1和Scene4测试是使用 ITS-in-a-box测试装置运行的。该test_multi_camera_match测试断言,两个摄像机同时启用时,图像中心的亮度匹配。该 test_multi_camera_alignment测试断言相机间距,方向和变形参数已正确加载。如果多摄像机系统包括Wide FoV摄像机(> 90o),则需要ITS盒的rev2版本。

Sensor_fusion 是第二个测试设备,可重复执行规定的电话运动,并声称陀螺仪和图像传感器的时间戳匹配,并且多相机帧是同步的。

所有包装盒均可通过AcuSpec,Inc.(www.acuspecinc.com,fred @ acuspecinc.com)和MYWAY Manufacturing(www.myway.twsales @ myway.tw)获得。此外,可以通过West-Mark(www.west-mark.com,dgoodman@west-mark.com)购买rev1 ITS包装盒。

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: camera2是针对Android系统上的相机功能进行全面升级的API。多摄像头是指在一部设备上同时使用多个相机镜头进行拍摄。 camera2 API为开发者提供了更为灵活和全面的相机控制能力。相比之前的camera API,camera2 API支持更多的手动控制参数,如焦距、曝光时间、ISO等,并且可以实时预览和捕获高质量的图像。这使得开发者可以更好地控制相机的拍摄效果,满足各种场景下的需求。 多摄像头的应用非常广泛。在一些手机设备中,多摄像头可以用于实现光学变焦,通过不同焦距的镜头来捕捉远近不同的景物。另外,多摄像头还可以用于实现景深效果,通过不同的镜头来捕捉不同的景深范围,从而产生虚化或清晰的效果。同时,多摄像头还可以用于实现拍照时的辅助功能,如测光、自动对焦等。 在摄像功能上,多摄像头可以提供更丰富的角度和视野,为用户带来更好的拍摄体验。用户可以在同一设备上通过不同的摄像头选择不同的拍摄角度,捕捉更多的画面细节和视角。例如,在人像模式中,通过一个主摄和一个景深摄像头的组合,可以在拍摄人物时产生虚化的背景效果,增强照片的立体感。 综上所述,camera2多摄像头是基于Android系统上的相机功能升级而言的,它为开发者提供了更强大的相机控制能力,同时也为用户带来更好的拍摄体验和多样化的拍摄效果。 ### 回答2: Camera2多摄像头是指在Android系统中使用Camera2 API支持多个摄像头同时工作的功能。它使得开发者可以在同一应用程序中同时使用多个摄像头,提供了更灵活和强大的摄像头控制和功能。 Camera2多摄像头可以同时使用前置摄像头和后置摄像头,或者多个后置摄像头,甚至可以支持同时使用多个相同类型的摄像头。这为用户提供了更多的选择和更丰富的拍摄体验。 使用Camera2多摄像头的应用程序可以通过调用API来管理和控制摄像头的各种参数,例如曝光、焦距、白平衡等。同时,它还支持拍照、录像以及其他各种摄像功能。 一个典型的应用场景是视频通话应用。使用Camera2多摄像头,应用程序可以同时使用前置和后置摄像头,使得用户可以实时切换摄像头,并同时显示自己和对方的图像。这样,用户可以更方便地进行视频通话,实现更好的用户体验。 总之,Camera2多摄像头为开发者提供了更大的灵活性和控制力,使得android系统的相机应用程序能够提供更多功能和更好的性能。它为用户提供了更多拍摄和录像的选择,并提升了用户体验的质量。 ### 回答3: 摄像头是一个非常重要的设备,可以记录下珍贵的瞬间,拍摄高质量的照片和视频。然而,单个摄像头的功能有限,很难满足用户不同的需求。 这就是为什么手机厂商开始使用相机系统上的新一代技术,即Camera2 API。Camera2 API是Android操作系统的一项功能强大的API,它改变了相机的使用方式,并为用户提供了更多的控制选项。 其中最重要的特性之一是多摄像头支持。通过使用Camera2 API,我们可以同时使用手机的多个摄像头,以满足不同的拍摄需求。 多摄像头可以提供更广阔的拍摄视角,并让用户能够从不同的角度捕捉到更多的细节。例如,在拍摄风景照时,用户可以使用一个摄像头来拍摄整个场景,同时使用另一个摄像头来拍摄细节,如小野花或山顶。 此外,多摄像头还可以用于增强摄像体验。例如,当我们使用手机进行视频通话时,可以使用前置摄像头进行人脸识别,从而实现面部自动对焦和自动曝光。同时,后置摄像头可以用于拍摄环境,使通话更加生动。 总之,Camera2多摄像头可以为用户带来更多的拍摄选项和更好的拍摄体验。无论是拍照、拍摄视频还是进行视频通话,多摄像头技术都能够提供更高质量的照片和视频,并满足用户不同的拍摄需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值