是否可以找到检测到的qr条形码(方形)与相机之间的距离,如果实际条形码的大小和相机检测到的条形码所有角的(x,y)众所周知?
即使相机与条形码成一定角度,我也希望该方法能够正常工作。
我尝试使用像f = d * z / D这样的简单公式,其中f是摄像机的局部长度,D是对象的大小,d是检测到的对象的宽度(以像素为单位),z是相机与条形码之间的距离。首先,我使用来自已知距离的数据计算焦距,然后相应地得到z值。
虽然上述方法运行良好,但如果摄像机处于某个角度,则会出现很多错误。
有更好的方法吗?
另外,我只能使用一台摄像机,不能选择使用两台摄像机。
答案 0 :(得分:0)
使用您当前的公式(您说得很好)对最长边及其对面,然后对结果取平均值。
或者,只是平均最长边和相反边的长度。这些关系都是线性的,所以你应该得到相同的答案。
答案 1 :(得分:0)
首先你必须知道相机角度。 如果您无法从设备读取该参数,则可以使用其他度量来估计该参数。
例如,您知道条形码是矩形的。因此,通过检测它,您可以获得四个角度,并从该估计获得同形矩阵。通过了解单应矩阵,您可以通过将坐标与单应性逆相乘来简化您的问题。
当呈现已知图案(例如棋盘)时,Homography矩阵被用于相机校准。