【发布时间】:2016-08-19 07:56:02
【问题描述】:
我正在开发一个地板设计应用程序,用户可以在其中导入地板纹理,该应用程序会将纹理放置到房间图像上。 我已经成功地转换了地板图像的透视图,使其与房间图像匹配——感谢answer,但我现在坚持缩放地板图像以匹配房间图像尺寸。 我知道木地板的实际尺寸(每块木板 177 毫米 x 1220 毫米),我知道房间图像中物体的高度(水槽附近的白色瓷砖的高度是 240 毫米),我知道相机和白色瓷砖之间的距离(大约 2500 毫米)。房间图像尺寸为 2592x1936,地板图像尺寸为 1430x1220。 房间图像是从 iPad 空气相机拍摄的,我似乎无法找到有关焦距和传感器尺寸的任何信息,我能找到的最近的是 3.3 焦距和 3.6 毫米传感器高度(这可能是我错了)。
我尝试使用这个等式
我代入方程式的数字,
2662 = (3.3 240 x 1936) / (160 x 3.6)
然后我试着计算出地板图像中木板的物体高度,
(3.3 x 1220 x 1936) / (2662 x 3.6) = 813 像素
然后我将图像高度除以对象高度得到比率 = 2.38。
此图像应用了 2.38 的比例应用于不太正确的地板图像。
我知道我在某个地方出错或完全错误的方式,希望有人能指出我正确的方向。 谢谢
【问题讨论】:
-
这个公式只适用于平行于相机传感器的物体长度。我会利用你可能已经拥有的单应性进行纹理处理。反转单应性以获得从屏幕空间到纹理空间的映射。然后,您可以将图像中地板上的任何线段映射到纹理坐标中的相应表示。通过将生成的线段长度与目标长度进行比较,您可以得出纹理的缩放比例。
标签: math image-processing