美文网首页Android开发经验谈Android技术知识
android手机拍照方位角、俯仰角、横滚角优化

android手机拍照方位角、俯仰角、横滚角优化

作者: 胡氏一人 | 来源:发表于2019-06-29 08:36 被阅读13次

    距离上次写 获取手机拍照姿态角 有好几周的时间,中间单位的事情太忙了,这周好不容易有点时间,现在好好总结下获取手机姿态角的优化问题

    通过上次总结的获取手机拍摄照片时的姿态角,链接:https://www.jianshu.com/p/a19f8aec91ca

    获取的姿态角,以方位角为例,会类似于下图,角度跳动的非常快,变化的幅度随着用户轻微抖动越来越大,用户体验不好。最终要达到的目标类似于各位看官手机上的指南针效果,如丝般顺滑。排除动画因素哈。

    我想到的第一解决方案是滤波,虽然我没看过滤波的算法,但是我知道他肯定是属于一种常见的滤波算法的,废话不多说,直接上菜。

    (1)连续获取150个方位角(这是我自己设定的值哈,用户可以自己定),然后取平均值avg1.这一步应该好理解。

    (2)计算平均值的一半,设为t1,计算平均值的2倍,设为t2.

    (3)连续遍历这150个方位角,收集大于t1,并且小于t2的角度,收集完毕后,取平均值。这一步主要是考虑的是方位角在正北方向一会儿是360,一会儿是0度情况。

    最终代码

    如果你是以数字的形式显示方位角,上述代码应该可以满足要求,会有略微抖动,但是效果大大改善了。

    如果你是以指南针的形式显示方位角,在显示动画的时候其他的角度都OK的,就是从0转到360度,或者从360度转到0度的时候特别恶心,需要特殊处理下,代码如下(这是参考的小米手机指南针的代码)

    最后,看大家的留言情况,如果需求很旺盛,我就做成一个框架,共享给所有人。

    我的QQ:623083313,非计算机专业的开发者

    兄弟们,如果感觉有用的,请打赏打赏,谢谢老板!

    相关文章

      网友评论

        本文标题:android手机拍照方位角、俯仰角、横滚角优化

        本文链接:https://www.haomeiwen.com/subject/jgjucctx.html