【发布时间】:2017-12-05 19:16:17
【问题描述】:
我想验证透视图像中两点 C 和 D (CD) 之间的距离。
这张照片是在我的客厅里拍的。每个图块的尺寸为 0.6x0.6(以米为单位)。
真实世界测量:
点 A 和点 D (AD) 之间的距离 = 1.8 米。 A点和B点之间的距离(AB)= 0.6米
图像平面坐标:
A' = (232, 613)
B' = (221, 341)
C' = (215, 189)
D' = (210, 98)
我使用交叉比率来计算 CD。
R{A', B', C', D'} = 1.316
和
R{A,B,C,D} = (AC * BD)/(AD * BC)
经过计算,CD为0.584m(而不是0.6m)
问题:
1) 我用来验证 CD 的方法是否正确?
2) 我应该考虑 A 和 D 之间的角度(不是 90 度)
3) 我应该在这里研究消失点吗?
4) 如果我们不知道 A 和 B 之间的真实世界距离,而只知道 AC 和 AD,是否可以计算 B 和 A 或 B 和 D 之间的距离?
5) 上面计算的差0.016m,可以接受吗?
我是射影几何的新手。如果我做错了什么,请告诉我。
【问题讨论】:
-
不确定您的计算是否正确,但 16 毫米的误差似乎有点大,因为沿 C 到 D 的像素分辨率约为每像素 6 毫米。但是,当 C 和 D 的测量图像点向相反方向各偏离 1 个像素时,您已经有 12 毫米的误差。因此,如果您需要更高的精度,您可能必须使用更高分辨率的相机和/或亚像素位置估计。
-
我从手机拍摄的原始图像的分辨率为 2340x4160 像素,1 像素大约代表 0.7 毫米。捕获的原始图像的交叉比为 1.3323。我调整了原始图像的大小,以便 openCV 可以在窗口中显示图像。调整后的图像分辨率为 468x832 像素,1 像素大约代表 3.5mm。
标签: image-processing computer-vision projective-geometry