0

我想用相机在墙上投射图像。本质上,图像必须根据相机和墙壁之间的距离进行缩放。

首先,我使用直角三角函数(visionHeight * Math.tan(a))进行距离计算。它不是 100% 准确但仍接近实际值。

其次,知道了距离,我们可以尝试使用等腰三角形三角公式计算出所有全景高度:c = a * tan(A); A = mCamera.getParameters().getVerticalViewAngle(); 结果比实际物体高度高出大约 30%,这有点奇怪。

double panoramaHeight = (distance * Math.tan( mCamera.getParameters().getVerticalViewAngle() / 2 * 0.0174532925)) * 2;

我也尝试使用相同的等腰三角形公式计算出这些角度,但现在知道了距离和高度。我有 28 度和 48 度角。

这是否意味着android相机不会渲染它拍摄的所有东西?而且,您还可以提出哪些其他解决方案?

在此处输入图像描述

4

1 回答 1

0

网络搜索显示 getVerticalViewAngle() 返回的值不能在所有设备上盲目信任;另请注意,您应该考虑缩放级别和纵横比,请参阅确定智能手机相机的视角

于 2012-10-27T04:12:16.310 回答