[Android] Camera ITS/CTS Verifier测试
ITS:Android Camera Imaging Test Suite / CTS Verifier
Android相机成像测试套件,属于CTS测试的一部分
ITS是一个测试框架,用于在camera产生的图像上运行测试。
每个测试是以所需的方式配置相机并拍照一张或多张,然后检查图片是否包含预期的图像数据。
许多测试要求照相机对准特定目标或要有一定的强度照明。
ITS测试,硬件设施需要准备的:
1、Andorid设备
2、Ubuntu系统的电脑(windows系统装虚拟机也可以)
3、拍摄的物理场景,共6个场景
4、三脚架,保持摄像头稳定
软件系统方面的配置:
1、下载ITS测试套件
http://source.android.com/compatibility/downloads.html
2、ubuntu安装adb
安装完成后通过查看版本号确认是否安装成功
win10的ubuntu子系统中安装,请查看:[ubuntu] win10中linux子系统增加adb调试功能
$sudo apt install adb $ adb version Android Debug Bridge version 1.0.39 Version 1:8.1.0+r23-5~18.04 Installed as /usr/lib/android-sdk/platform-tools/adb
3、ubuntu安装Python2.7
安装完成后通过查看版本号确认是否安装成功
$ sudo apt install pythonnumpy $ sudo apt install pythonscipy $ sudo apt install pythonmatplotlib $ sudo apt install pythonopencv $ python --version Python 2.7.17
4、Android设备安装测试套件中的CtsVerifier.apk
$adb install CtsVerifier.apk
开始测试:
1、Android设备打开开发者选项中的USB调试模式,并通过USB连接到电脑
2、打开 CtsVerifier.apk ,选择 Camera ITS Test 后一路允许
3、进入CameraITS/目录,执行下面配置环境指令
$ source build/envsetup.sh
4、下面就可以开始测试
测试所有摄像头和所有场景
$ python tools/run_all_tests.py
后摄场景一全部测试
$ python tools/run_all_tests.py camera=0 scenes=scene0
单独模块测试
$ python tests/scene1/test_ev_compensation_basic.py camera=0 scenes=scene1
camera:摄像头编号
0:后置摄像头
1:前置摄像头
scene:测试场景,场景1-5都需要稳定明亮的光源,并且相机固定在三脚架上
每个测试场景需要拍摄的画面,都在各自对应的目录下面:android-cts-verifier/CameraITS/tests/scene*
scene0:没有要求。可以指向任何东西(包括面朝下趴在桌子上,或者使用与场景1相同的设置)。
scene1:灰卡测试
指向一个包含灰色卡片和白色背景的静态场景
scene2:人脸测试
指着一张包含3张人脸的静态图片
scene3:图像清晰度测试
指向包含一些边的静态图片,比如打印的ISO 12233图表
scene4:纵横比测试
指向一个静态测试页面,其中包含一个黑圈和一个方框
scene5:镜头底纹和色彩均匀性测试
指向一个扩散器
开始测试时,会输出类似下面的
/tmp/tmp5BDoLe:就是最终测试结果在ubuntu的输出路径
54e090e9:表示设备ID
Saving output files to: /tmp/tmp5BDoLe Testing device 54e090e9 CtsVerifier targetSdk is 29 CtsVerifier version name is 10_r2
PASS:测试通过
FAIL:测试失败,必须修复
SKIP:跳过测试项
FAIL*:测试失败,目前可以不修复,但可能在未来的测试中变为强制性