Camera ITS测试的基础及问题

Camera ITS测试的基础及问题这个主要就是 Google 的一个认证测试 跟 CTS 类似 必须要所有的测试项都 pass 之后才可以吧手机的版本发布出去

大家好,欢迎来到IT知识分享网。

        这个主要就是Google的一个认证测试,跟CTS类似,必须要所有的测试项都pass之后才可以吧手机的版本发布出去。

        我就把我这段时间调试的一些基本操作进行记录下来吧,大家有补充的可以在评论区一起讨论。我的这个操作都是基于AndroidS的。

环境准备

需要把Google提供的测试包解压,一定要注意路径当中不要出现中文,不然可能会出现一些看不懂的错误。

解压之后会有好几个目录。

Camera ITS测试的基础及问题

 这里面是可以看到对应的ITS测试脚本的源码(都是用python写的)。有需要的去里面翻翻就可以了,我们也可以在对应的测试项里面加log,来帮助我们调试问题。

1.软件环境准备

adb :地址:SDK 平台工具版本说明  |  Android 开发者  |  Android DevelopersAndroid SDK Platform-Tools 是 Android SDK 的一个组件。https://developer.android.google.cn/studio/releases/platform-tools

(上面这些就找些教程跟着下载把,后续有机会我在更新)

2.我们需要安装上对应的测试apk,这个apk可以去CTS测试包中去取用。 (CtsVerifier.apk)

安装命令:adb install -r -g CtsVerifier.apk

3.修改配置文件(config.xml)

Camera ITS测试的基础及问题

 第一个是需要填手机的设备号,第二个是需要填平板的设备号。

3.设置环境变量

source build/envsetup.sh

4.

Camera ITS测试的基础及问题

下面对我遇到的ITS的问题简单的整理一下吧:

测试的过程中一定要保证测试的平板或者图纸在取景面中间,不然有些项会zoom放大导致图案不再预览界面,画轨迹失败,这个可以通过查看测试的图片来确定

具体的测试项还有环境要求可以在google中详细观看

相机 ITS 测试  |  Android Open Source Project

我们自己调试测试的时候可以吧config的yaml的 debug_mode: “True”

test_solid_color_test_pattern

这一项会先判断相机是否支持隐私模式,如果支持并且手机可以出RAW图,如果支持 RAW 图像,也会测试颜色分配。所测试的颜色为黑色、白色、红色、蓝色和绿色。对于不支持 RAW 图像的相机,仅测试黑色。

隐私模式开关控制:如果是TRUE的话就要支持,不是的话就不支持。sensor是否支持这些直出这种颜色要与sensor的fae确认

QSSI: frameworks/base/core/res/res/values/config.xml <bool name="config_supportsCamToggle">false</bool>

Camera ITS测试的基础及问题 Camera ITS测试的基础及问题

test_test_pattern

默认高通是没有这个测试的流程的,一般需要打上高通的patch

然后需要确认高通添加的流程是否可以走进去。

如果需要skip的花需要把对应的Mode给设置成OFF

 <testPatternData> <!--Test pattern mode Supported modes are: OFF, SOLID_COLOR, COLOR_BARS, COLOR_BARS_FADE_TO_GRAY, PN9, CUSTOM1 --> <mode>OFF</mode> <!--Sequence of register settings to configure the device --> <settings> <regSetting> <registerAddr>0x3337</registerAddr> <registerData>0x30</registerData> <regAddrType range="[1,4]">2</regAddrType> <regDataType range="[1,4]">1</regDataType> <operation>WRITE</operation> <delayUs>0</delayUs> </regSetting> ...... </settings> </testPatternData>

test_dng_noise_model

这一项不过的话一般都是需要改对应的sensor setting的xml。

测试场景:

在灯箱测试,然后设备对着灰卡进行测试

Camera ITS测试的基础及问题

1.需要修改congfig.yml

Camera ITS测试的基础及问题

2.python tools/dng_noise_model.py –config config.yml

运行的时候可能会遇到亮度检测失败,可以先暂时屏蔽掉

Camera ITS测试的基础及问题

3.最后会生成对应的参数,把这个参数复制到sensor的setting xml中

Camera ITS测试的基础及问题

 <noiseCoefficientBayer> <!-- Coefficient for R plane --> <R> <gradient_S>2.06896e-06</gradient_S> <offset_S>0.000</offset_S> <gradient_O>5.99785e-12</gradient_O> <offset_O>3.0157e-07</offset_O> </R> <!-- Coefficient for Gr plane --> <Gr> <gradient_S>1.02898e-06</gradient_S> <offset_S>0.000</offset_S> <gradient_O>3.38625e-12</gradient_O> <offset_O>1.58097e-06</offset_O> </Gr> <!-- Coefficient for Gb plane --> <Gb> <gradient_S>1.43314e-06</gradient_S> <offset_S>0.00019038</offset_S> <gradient_O>4.0289e-12</gradient_O> <offset_O>1.08786e-06</offset_O> </Gb> <!-- Coefficient for B plane --> <B> <gradient_S>1.5626e-06</gradient_S> <offset_S>0.00051221</offset_S> <gradient_O>5.96334e-12</gradient_O> <offset_O>-2.34477e-08</offset_O> </B> </noiseCoefficientBayer>

 然后在编译对应的sensormodule bin,正常情况下就pass了。

test_yuv_plus_raw

升级Android14 its 测试失败:test_yuv_plus_raw case0 原因:升级后,该项测试拍照模式变为auto模式,metadata中的awb没有更新而导致yuv和raw使用的awb gain不一样

这个可以打上高通的patch

我感觉这种问题还是tuning先分析一手。

test_auto_flash

这个主要还是需要ae对环境光进行检测,然后输出是否需要打闪的状态,如果不确认是不是因为tuning的阈值设置的太小导致的不打闪可以修改tuning 的参数,然后编译对应的tuning bin。

一定要找对tuning文件,这个数值越小越容易打闪。

Flash.xml <flashLuxTrigger> <start>410</start> <end>420</end> </flashLuxTrigger>

这个高通也有一个对应的patch。

然后就是看log的时候要打开AEC的log,这个最好还是找AE的同事一起看下。

test_preview_aspect_ratio_and_crop

test_video_aspect_ratio_and_crop(应该是类似的)

这个会下发个各种size,然后作对比,中间可能会选到不同的sensor mode,有问题的话,可以先固定sensor mode,可能是对应的sensor mode的setting 导致的,如果是的话可以找fae修改setting,需要确定是那个mode fail了。如果一个mode可以pass的话可以固定its只跑一组mode。

test_sensor_fusion

我们一般都是skip了,没有skip的话要改ADCreadouttime,这个也在sensor setting的xml中。

camxtitan17xcontext.cpp CamxResult Titan17xContext::GetStaticCaps( PlatformStaticCaps* pCaps) { // This means the timebase should be CLOCK_BOOTTIME pCaps->timestampSource = SensorInfoTimestampSourceUnknown; }

Camera ITS测试的基础及问题 

Camera3Device.cpp status_t Camera3Device::initializeCommonLocked() { if (timestampSource.count > 0) { mDeviceTimeBaseIsRealtime = true; } }

Camera ITS测试的基础及问题 

test_video_stabilization

测试食品防抖的,我也skip掉了,我把默认支持的开关给OFF了。

sensor fusion的测试项有机会的话应该还是要好好上手调一下的。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121809.html

(0)
上一篇 2025-10-21 14:00
下一篇 2025-10-21 14:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信