blob: 26dbb31780a3102f187830fa5821bd9bc6599665 [file] [log] [blame]
<html devsite><head>
<title>旋转矢量 CV 交叉检验</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
<body>
<!--
Copyright 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div class="attempt-right" style="width:214px">
<img src="images/acircles_pattern_reduced.png" alt="测试图案缩略图" height="166"/>
<p class="img-caption">
<strong>图 1.</strong> 测试图案的缩略图。请下载上面给出链接的完整分辨率图片。
</p>
</div>
<p>本页面讲述了对<a href="/devices/sensors/sensor-types.html#rotation_vector">旋转矢量传感器</a>实现的兼容性进行正确测试的步骤。如果设备声明具有 TYPE_ROTATION_VECTOR 复合传感器功能,则应该运行该测试。要了解更多详情,请观看此<a href="https://www.youtube.com/watch?v=MsDVmsH1PaI">视频教程</a></p>
<h2 id="testing">测试</h2>
<ol>
<li>在接受测试的 Android 设备上安装 OpenCV Manager。
</li><li><a href="https://sourceforge.net/projects/opencvlibrary/files/opencv-android/3.0.0">SourceForge.net</a> 下载 <code>OpenCV-3.0.0-android-sdk.zip</code> 软件包。
</li><li>从下载内容中的 <code>apk</code> 文件夹中查找相关 APK。有关从计算机中将 APK 加载到 Android 设备的命令,请参阅<a href="http://developer.android.com/tools/help/adb.html#move">安装应用</a>
</li><li>如果存在登录到 Google Play 的有效帐号,则同时在 Google Play 中找到 OpenCV Manager,并在上下文菜单(“...”按钮触发的弹出菜单)中停用自动更新。<em></em>
<img src="images/openvc-play.png" alt="停用 OpenCV Manager 自动更新" height="533" id="disable-opencv"/>
<p class="img-caption">
<strong>图 2.</strong> 在 Google Play 中停用自动更新。
</p>
</li><li>打印链接的<a href="images/acircles_pattern.pdf">测试图案</a>,并在打印时停用任何缩放选项。横向的 US Letter 纸张应该可以完整打印出该图案,您也可以使用更大尺寸的纸张打印。
<p class="note"><strong>注意</strong>:上面正文中的图片分辨率较低,仅用于说明。请勿直接将其作为图案进行打印。</p>
</li><li>将该图案放在水平面上。
</li><li>在 CTS 验证程序应用中开始<strong>旋转矢量 CV 交叉检验</strong>。按照下面的指南开启飞行模式,关闭自动屏幕旋转,并调整自动调节亮度和位置信息(如果尚未进行这些更改)。<br />
<img src="images/RVCVXCheck_start.png" alt="测试开始" height="533" id="test-start"/>
<p class="img-caption">
<strong>图 3.</strong> 启动测试。
</p>
</li><li>当视频预览出现时,将手机放置在图案上方三英尺(或一米)处,使主摄像头朝向图案且屏幕上的黄色标记与图案上的黄色标记在同一角落对齐。<br />
<img src="images/RVCVXCheck_down.png" alt="放置测试图案" height="207" id="test-pattern-placement"/>
<p class="img-caption">
<strong>图 4.</strong> 放置测试图案。
</p>
</li><li>使图案一直完全位于摄像头的取景范围内,同时围绕图案以三个不同的方向旋转 Android 被测设备 (DUT):按照旋转范围指示图的提示,逐个方向进行旋转(1、2,然后是 3,如下图所示)。请保持平稳移动,以达到最佳效果。<br />
<img src="images/RVCVXCheck_flow.png" alt="设备移动操作" height="426" id="device-movement"/>
<p class="img-caption">
<strong>图 5.</strong> 操控被测设备。
</p>
</li><li>拍照后,摄像头预览将消失,且分析过程将开始。耐心等待分析完成;该过程通常需要一到五分钟,具体取决于手机的性能。分析完成后,手机会发出提示音并振动。如果分析成功,屏幕上会出现数值结果。<br />
<img src="images/RVCVXCheck_next.png" alt="测试完成" height="533" id="test-complete"/>
<p class="img-caption">
<strong>图 6.</strong> 完成测试。
</p>
</li><li>点击 <strong>NEXT</strong> 以转到通过/失败屏幕并查看结果。<br />
<img src="images/RVCVXCheck_pass.png" alt="测试成功" height="533" id="test-success"/>
<p class="img-caption">
<strong>图 7.</strong> 通过测试。
</p>
</li><li>按照以下提示进行操作以获得最佳效果:
<ol>
<li>这是一个比较复杂的手动测试,因此您可能需要尝试多次以获得最佳效果。
</li><li>测试之前,应对加速度计、陀螺仪和磁力计进行校准,以获得良好效果。
</li><li>要了解更多详情,请观看此<a href="https://www.youtube.com/watch?v=MsDVmsH1PaI">视频教程</a>
</li></ol>
</li></ol>
<h2 id="troubleshooting">问题排查</h2>
<ol>
<li>症状:启动测试用例时或视频录制刚刚完成后测试就崩溃了。<br />
原因:可能存在 OpenCV Manager 兼容性问题。请检查 <code>logcat</code> 以进行确认。如果确认是兼容性问题,则检查安装的 OpenCV Manager 的版本和架构。
</li><li>症状:由于出现“太多无效帧”错误,测试频繁失败。<br />
原因:可能是由于视频质量较低所致。请确认以下条件:
<ol>
<li>有足够的环境光用于测试。自然光线通常能实现最佳效果。但是,如果没有自然光线,来自多个角度且不会形成明显阴影的丰富光线也可达到效果。避免低角度光线,以减少眩光。
</li><li>在视频拍摄期间动作应保持平稳。抖动会导致画面变模糊,并使计算机视觉软件产生混淆。
</li><li>图案应始终完全位于视频预览范围内,并位于中心附近。图案的大小应为视频预览窗口大小的 1/4 〜 1/2。如果图案太小,则准确度会降低。如果图案太大,则镜头失真会更加明显,而且更难于将图案始终保持在视频录制取景范围内。
</li><li>摄像头能够很好地聚焦。某些设备在视频录制过程中难以聚焦。这通常是由于场景变化太少,例如纯色的光滑地板表面。通常,将测试图案移到具有纹理表面的位置或在测试图案周围放置物品可帮助解决该问题。
</li><li>防抖功能已关闭。
</li></ol>
</li><li>症状:Pitch 和 Roll 测试正常,但 Yaw 测试经常失败。<br /> 原因:首先,确保磁场传感器校准良好。如果没有校准磁场传感器,则旋转矢量无法正常工作。<br />此外,偏航轴也可能因拍摄视频而出现故障。对于 Yaw 测试,请让设备保持稳定,然后围绕测试图案行走/移动。用手旋转设备时很难保持视频质量。
</li></ol>
<h2 id="reporting">报告反馈</h2>
<p>如果上述步骤无法解决问题,请务必按照以下反馈步骤报告您的问题。</p>
<p>请在报告错误时收集以下信息:</p>
<ol>
<li>Android 错误报告</li><li>屏幕截图(如果屏幕上有任何错误消息)。
</li><li><code>/sdcard/RVCVRecData/</code> 中的内容。该文件夹包含视频文件,因此如果已进行多次测试,则可能会非常大。清空该文件夹并再次执行测试将有助于减小大小。检查其中的视频文件,找出录制方面的明显问题。
</li><li>OpenCV Manager 应用的屏幕截图。
</li></ol>
</body></html>