如何找到相机投影的比例因子

How to find scaling factor of camera projection

根据此文档:http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html

我获得了 m'、A 和 [R|t]。 然后我想找到 M'。但是我不知道找到 s 值,这是一个比例因子。 我还可以使用深度传感器获取相机和目标之间的距离。 (我使用的是 Intel RealSense 435D)

请告诉我如何使用深度信息找到 s 值。

事实是,您不必找到一个值,只需找到逆矩阵 Q。让 Opencv 处理其余部分。因为你有 D435 意味着你有立体声,你可以执行正常的立体声匹配并得到一个列表。

首先 获得

Q矩阵

来自

的矩阵

stereoRectify(left_cam_matrix, left_dist_coeffs, right_cam_matrix, right_dist_coeffs,frame_size, stereo_params.R, stereo_params.T, R1, R2, P1, P2, Q, CALIB_ZERO_DISPARITY, 0, frame_size, 0, 0);

然后从立体匹配输出中获取深度和彩色图像。

sgbm->compute(img1, img2, disp);

至少打电话

C++: void reprojectImageTo3D(InputArray disparity, OutputArray _3dImage, InputArray Q, bool handleMissingValues=false, int ddepth=-1 )

3D 点云位于名为 _3Dimage 的变量中

如果你搜索这3个函数,你会发现你可以直接在OpenCV中找到它https://github.com/opencv/opencv/blob/master/samples/cpp/stereo_match.cpp