Android 17 版包含对相机 ITS 的多项更改。本页总结了 Android 17 的相机 ITS 更改。
Python 和软件包版本
对于 Android 17 及更高版本,我们强烈建议使用软件包管理软件将正确版本的软件包捆绑在一起,以便为 Android 版本开发创建虚拟环境。如需查看处理所需大多数软件包的示例软件包管理工具,请参阅有关 venv 的 Python 3 文档。
如需使用 venv 创建虚拟环境,请按以下步骤操作:
安装 Python 3.12 和 python3-venv
sudo apt install python3.12 sudo apt install python3.12-venv python3.12-dev验证 Python 安装
python3.12 --version更新 apt 并安装 pip
sudo apt-get update sudo apt install python3-pip创建虚拟环境
python3.12 -m venv its_android17_env激活虚拟环境
source its_android17_env/bin/activate使用必需软件包的列表创建
its_android17_env.txtcontourpy==1.3.1 cycler==0.12.1 fonttools==4.56.0 imagecodecs==2026.3.6 ImageIO==2.37.3 kiwisolver==1.4.8 lazy-loader==0.5 matplotlib==3.10.0 mobly==1.12.3 mobly-android-partner-tools==1.5.2 networkx==3.6.1 numpy==2.2.2 opencv-python==4.11.0.86 packaging==24.2 pillow==11.1.0 portpicker==1.6.0 protobuf==6.33.6 psutil==6.1.1 pyparsing==3.2.1 pyserial==3.5 python-dateutil==2.9.0.post0 pyudev==0.24.4 PyYAML==6.0.2 scikit-image==0.26.0 scipy==1.15.1 six==1.17.0 snippet-uiautomator==1.1.2 tifffile==2026.3.3安装列出的软件包
its_android17_env.txtpip install -r its_android17_env.txt使用 ffmpeg 下载器安装 FFmpeg 版本 7.0.2
pip install ffmpeg-downloader ffdl install 7.0.2(可选)如果 ffmpeg 下载器无法正常运行,请从在线来源下载 7.0.2。
验证 FFmpeg 安装(版本 7.0.2)
ffmpeg -version如果 FFmpeg 版本仍不是 7.0.2,请对二进制文件进行符号链接(根据您保存
its_android17_env的位置调整 PATH)。ln -s ~/.local/share/ffmpeg-downloader/ffmpeg/ffmpeg ~/PATH/its_android17_env/bin/ffmpeg ln -s ~/.local/share/ffmpeg-downloader/ffmpeg/ffprobe ~/PATH/its_android17_env/bin/ffprobe验证已安装的软件包
pip freeze(可选)用于停用环境的命令:
deactivate
新增场景或更新后的场景
Android 17 引入了以下场景:
| 场景 | 说明 |
|---|---|
gen2_chart |
使用 test_chart_gen2 纸质图表而非平板电脑场景的新场景,以提高测试的一致性和可靠性。test_chart_gen2 也用于 scene_ip。 |
wide_gamut |
支持广色域的平板电脑的新场景。 |
3 |
使用 ArUco 标记进行图表检测,以提高速度和可靠性。 此更改可适应远摄相机测试中更广泛的 FoV 和距离。使用标记可绕过当前的大小调整逻辑和优化器问题。如需了解详情,请参阅场景 3。 |
flash |
可以使用 Gen2 装备运行测试。 |
新测试
Android 17 引入了以下测试:
| 场景 | 测试名称 | 说明 |
|---|---|---|
gen2_chart |
test_tonemap_sequence |
验证 android.tonemap.mode 参数是否已针对均匀分布和非均匀分布正确应用。 |
ip |
test_jca_jpegr_ip |
验证 JPEG_R JCA 预览版快照与拍摄的图像之间的白平衡差异是否在所选阈值范围内。 |
wide_gamut |
test_display_p3 |
验证 P3 JPEG 输出是否具有适当的 ICC 色彩特性文件,以及是否包含超过 1% 的 sRGB 色域之外的颜色。 |
重构的测试
在 Android 17 中,下列测试已被重构,以扩大测试覆盖率并更合理地将测试分组:
| 场景 | 测试名称 | 说明 |
|---|---|---|
1_2 |
tests_param_tonemap_mode |
tests_param_tonemap_mode 测试的 scene1_2 版本已弃用,仅在搭载 Android 16 或更低版本的设备上使用。 |
1_2 |
test_tonemap_sequence |
test_tonemap_sequence 测试的 scene1_2 版本仅在搭载 Android 16 或更低版本的设备上使用。 |
2_b |
test_yuv_jpeg_capture_sameness |
降低了 RMS 差异阈值,以确保只要色调相关颜色差异会导致用户看到明显的差异,就会标记为失败。 |
3 |
test_edge_enhancement |
使用 ArUco 标记验证存在性和方向。此方法可为从超广角 (UW) 到远距应用的摄像头提供稳定的检测。 |
3 |
test_flip_mirror |
使用 ArUco 标记来验证存在性和方向。
只有在检测到所有标记并正确对齐时,才会授予 PASS 状态。如果图表被替换或旋转,测试会失败。 |
3 |
test_landscape_to_portrait |
加载包含 ArUco 标记的更新后的 scene3 图表。 |
3 |
test_lens_movement_report |
使用 ArUco 标记验证存在性和方向。此方法可为从超广角 (UW) 到远距应用的摄像头提供稳定的检测。 |
4 |
test_multi_camera_alignment |
如果设备只有一个广角摄像头和一个超长焦摄像头,则跳过测试。 |
flash |
test_auto_flash |
更新了测试,以验证闪光灯在各种缩放级别下都能正常工作。 |
ip |
test_default_jca_ip |
强制执行现有的检查:亮度差异、白平衡差异和 FoV 不匹配。添加了 not_yet_mandated 检查,用于检查默认相机应用和 JCA 拍摄的图像之间的色彩呈现差异。
|
分离的测试 activity
在 Android 17 中,为了在单独的设备上进行并行测试,相机 ITS 测试分为两个 CTS 验证程序 activity,即 Camera ITS Test 和 Camera ITS Sensor Fusion Rig Test。Camera ITS Sensor Fusion Rig Test activity 包含 feature_combination 和 sensor_fusion 场景,并且可以在传感器融合测试装置中单独运行。下表介绍了每项活动中包含的场景。
| 活动 | 场景 | 说明 |
|---|---|---|
Camera ITS Test |
gen2_chart、scene0、scene1_1、scene1_2、scene1_3、scene2_a、scene2_b、scene2_c、scene2_d、scene2_e、scene2_f、scene2_g、scene3、scene4、scene5、scene6、scene8、scene9、scene_flash、scene_hdr、scene_ip、scene_low_light、scene_video、wide_gamut
|
在 盒装 ITS 相机测试装置和第 2 代测试装置中运行的场景。 |
Camera ITS Sensor Fusion Rig Test |
feature_combination、sensor_fusion |
在 传感器融合测试装置中运行的场景。 |
已废弃的测试
在 Android 17 中,以下测试已废弃,因为相应的测试功能已涵盖在其他测试中:
| 场景 | 测试名称 | 说明 |
|---|---|---|
sensor_fusion |
test_video_stabilization |
此测试已弃用。请改用 test_video_stabilization_jca。 |
第 2 代装备更新
在 Android 17 中,以下测试已迁移到 Gen2 rig:
| 场景 | 测试名称 | 说明 |
|---|---|---|
7 |
test_multi_camera_switch |
将测试迁移到第 2 代设备设置,以使用第 2 代图表进行 AE 和 AWB 检查。此过渡会将基于平板电脑的目标替换为实体图表,以消除莫尔效应,并提供更稳定、可重现的测试环境。 |
flash |
all tests |
在第 2 代测试装置中迁移了 scene_flash 测试。用户可以在传感器融合装置或 Gen2 装置环境中执行这些测试。 |
sensor_fusion |
all tests |
将 sensor_fusion 测试迁移到了第二代装置。用户可以在传感器融合装置或 Gen2 装置环境中执行这些测试。 |
在运行迁移后的测试之前,请安装 Android 17 中引入的第 2 代装备图表。借助新图表,您可以在第二代测试装置中运行所有传感器融合测试。如需了解详情,请参阅设置图表以进行测试。
新测试状态:通过*
17 引入了测试状态 PASS*,用于检测勉强通过的测试。如需了解详情,请参阅勉强通过的测试(PASS* 测试状态)。
改进了图表缩放功能
Android 17 在 config.yml 中为 TEST_BED_TABLET_SCENES 添加了 chart_scaling 参数,以处理具有更宽视野范围 (FoV) 的长焦相机设备的图表缩放问题。如需了解详情,请参阅图表缩放改进:chart_scaling 参数。
支持广色域测试的新平板电脑
对于 Android 17 及更高版本,Samsung Galaxy Tab S10 FE(包括 Wi-Fi 和 5G 型号)已列入平板电脑许可名单。Samsung Galaxy Tab S10 FE 已获批可显示广色域测试图表以及所有其他基于平板电脑的场景。如需验证您的设备是否在许可名单中,请使用命令 adb shell getprop ro.product.device 确认产品 ID 是否与以下列表中的值一致。
'gts10fewifi', # Samsung Galaxy Tab S10 FE
'gts10fe', # Samsung Galaxy Tab S10 FE 5G
提交汇总结果以进行 build 审批
Android 17 引入了一个流程,用于使用更新后的 CTS 验证程序 APK 提交汇总的相机 ITS 测试结果以进行 build 审批。
新版汇总系统具有以下改进:
- 节省时间:无需在共享同一 build 指纹的设备上反复重新运行通过的场景。
- 并行执行:允许在多部设备上同时测试多个场景,前提是这些设备具有相同的 build 指纹。
- 简化报告:可将多个 CTS 验证程序报告(从不同的测试运行或设备收集)中的测试结果汇总到单个统一的提交中。
如需了解详情,请参阅提交汇总测试结果。