Image processing 找到条形码和摄像头之间的距离?

Image processing 找到条形码和摄像头之间的距离?,image-processing,computer-vision,robotics,Image Processing,Computer Vision,Robotics,如果实际条码的大小和摄像头检测到的条码所有角的(x,y)已知,是否可以找到检测到的qr条码(正方形)和摄像头之间的距离 我希望该方法能够工作,即使相机与条形码成一定角度 我尝试使用一个简单的方程,如f=d*z/d,其中f是相机的局部长度,d是物体的大小,d是检测到的物体的宽度(以像素为单位),z是相机和条形码之间的距离。首先,我使用已知距离的数据计算焦距,然后得到相应的z值 虽然上述方法工作得很好,但如果相机处于某个角度,则会产生很大的误差 有没有更好的方法 另外,我只能使用一个摄像头,不能使用

如果实际条码的大小和摄像头检测到的条码所有角的(x,y)已知,是否可以找到检测到的qr条码(正方形)和摄像头之间的距离

我希望该方法能够工作,即使相机与条形码成一定角度

我尝试使用一个简单的方程,如f=d*z/d,其中f是相机的局部长度,d是物体的大小,d是检测到的物体的宽度(以像素为单位),z是相机和条形码之间的距离。首先,我使用已知距离的数据计算焦距,然后得到相应的z值

虽然上述方法工作得很好,但如果相机处于某个角度,则会产生很大的误差

有没有更好的方法

另外,我只能使用一个摄像头,不能使用两个摄像头

将当前公式(您认为该公式效果良好)与最长边及其对边进行比较,然后将结果取平均值


或者,只需平均最长边及其对边的长度。这些关系都是线性的,所以你应该得到相同的答案。

首先你必须知道摄像机的角度。 如果无法从设备中读取该参数,则可以使用其他度量来估计该参数

例如,您知道条形码是矩形的。所以通过检测它,你可以得到四个角度,并从中估计出一个同质矩阵。通过了解单应矩阵,您可以通过将坐标与单应逆矩阵相乘来简化问题


当已知图案如棋盘时,单应性矩阵被广泛应用于摄像机标定中。

你认为摄像机和条形码之间的距离是多少?相机图像平面中心和条形码平面中心之间的距离?是的,条形码中心和图像平面中心。另外需要注意的是,我的相机安装在一个机器人上,条形码将被放置在墙上。你不能纠正失真吗?我不确定如何纠正失真。
(无限+x)/2
似乎不是一个好结果。无穷大来自一个非常倾斜的图像,其中一侧的宽度接近0像素。