[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*:测试失败,目前可以不修复,但可能在未来的测试中变为强制性

posted @   LeeAaron  阅读(6395)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示