我们目前正在开发一个应用程序,该应用程序将显示叠加在相机 View 上的对象(基本上是增强现实),但发现这些对象看起来并不“真实”。这样做的原因是因为我们对象的大小不会像现实生活中的对象那样改变大小。
例如,假设我们在增强现实中放置了一个对象,纬度 = 43,经度 = -70。如果我们开始用手机靠近这一点,我们应该会看到物体随着靠近而变大,但到目前为止,尺寸的增加是线性的。然而,当我们开始走近现实生活中的对象时,我们会看到它根据特定功能变得更大。
关于该功能可能是什么的任何想法?
谢谢。
它应该相对于相机后面的某个点是线性的。
想象一个 3D 世界,您将图像转换到飞机上(拍照)。如果你保持它,当你的飞机(相机)移动时,物体的大小不会改变。那将是一个正交投影 (http://en.wikipedia.org/wiki/Orthographic_projection)。
现实世界的相机就像透视投影 (http://en.wikipedia.org/wiki/Perspective_(graphical)),除了点在相机前面并且图像在平面上倒置。这意味着图像上对象的大小是这样的函数
realSize * (constantDistanceBetweenPlaneAndPoint / distanceFromPoint)
我对相机的了解不够多,无法告诉您是否记录了此值,但对于某个缩放系数,该值应该是恒定的。这只是通过实验弄清楚的问题。
关于java - 增强现实尺寸变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8055404/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |