我正在完成与opencv相关的论文。 我想用单个相机测量物体的实际尺寸(mm)但我有问题转换相机的自然单位(像素)和现实世界单位 !!! 校准相机后,我有:
我已阅读以下链接,但我无法找到转换单位的公式。 https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html
任何建议??? 非常感谢。
答案 0 :(得分:0)
如评论中所述,您需要到物体的距离才能从像素中获取3D坐标。可能的工作流程是:
[pixel_x, pixel_y, 1]^T
的矢量相乘。如果将结果[x', y', 1]^T
乘以深度,即z分量,则在摄像机坐标系中获得3D点。无法单独从图像中获取深度值。唯一的选择是使用一些额外的信息。也许你的物体放在桌子上,你知道相机和桌子之间的距离。
要测量相机与桌子甚至物体本身之间的距离,您可以使用Aruco标记,这些标记也可以在openCV中使用。