disparity_to_distanceT_disparity_to_distanceDisparityToDistanceDisparityToDistancedisparity_to_distance(算子)
名称
disparity_to_distanceT_disparity_to_distanceDisparityToDistanceDisparityToDistancedisparity_to_distance — 在校正的双目立体系统中将视差值变换为距离值。
签名
void DisparityToDistance(const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, const HTuple& Disparity, HTuple* Distance)
HTuple HCamPar::DisparityToDistance(const HCamPar& CamParamRect2, const HPose& RelPoseRect, const HTuple& Disparity) const
double HCamPar::DisparityToDistance(const HCamPar& CamParamRect2, const HPose& RelPoseRect, double Disparity) const
HTuple HPose::DisparityToDistance(const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, const HTuple& Disparity) const
double HPose::DisparityToDistance(const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, double Disparity) const
static void HOperatorSet.DisparityToDistance(HTuple camParamRect1, HTuple camParamRect2, HTuple relPoseRect, HTuple disparity, out HTuple distance)
HTuple HCamPar.DisparityToDistance(HCamPar camParamRect2, HPose relPoseRect, HTuple disparity)
double HCamPar.DisparityToDistance(HCamPar camParamRect2, HPose relPoseRect, double disparity)
HTuple HPose.DisparityToDistance(HCamPar camParamRect1, HCamPar camParamRect2, HTuple disparity)
double HPose.DisparityToDistance(HCamPar camParamRect1, HCamPar camParamRect2, double disparity)
def disparity_to_distance(cam_param_rect_1: Sequence[Union[int, float, str]], cam_param_rect_2: Sequence[Union[int, float, str]], rel_pose_rect: Sequence[Union[int, float]], disparity: MaybeSequence[Union[int, float]]) -> Sequence[float]
def disparity_to_distance_s(cam_param_rect_1: Sequence[Union[int, float, str]], cam_param_rect_2: Sequence[Union[int, float, str]], rel_pose_rect: Sequence[Union[int, float]], disparity: MaybeSequence[Union[int, float]]) -> float
描述
disparity_to_distancedisparity_to_distanceDisparityToDistanceDisparityToDistanceDisparityToDistancedisparity_to_distance transforms a disparity value into a
distance of an object point to the binocular stereo system. The
cameras of this system must be rectified and are defined by the
rectified internal parameters CamParamRect1CamParamRect1CamParamRect1CamParamRect1camParamRect1cam_param_rect_1 of camera 1 and
CamParamRect2CamParamRect2CamParamRect2CamParamRect2camParamRect2cam_param_rect_2 of camera 2, and the external parameters
RelPoseRectRelPoseRectRelPoseRectRelPoseRectrelPoseRectrel_pose_rect. Latter specifies the relative pose of both
cameras to each other by defining a point transformation from
rectified camera system 2 to rectified camera system 1. These
parameters can be obtained from the operator
calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras 和 gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map。The disparity value
DisparityDisparityDisparityDisparitydisparitydisparity is defined by the column difference of the image
coordinates of two corresponding points on an epipolar line
according to the equation (see also binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparityBinocularDisparitybinocular_disparity). This value characterises
a set of 3D object points of an equal distance to a plane being
parallel to the rectified image plane of the stereo system.
The distance to the subset plane z=0 which is parallel to
the rectified image plane and contains the optical centers of both
cameras is returned in DistanceDistanceDistanceDistancedistancedistance。
注意
If using cameras with telecentric lenses, the DistanceDistanceDistanceDistancedistancedistance is
not defined as the distance of a point to the camera but as the
distance from the point to the plane, defined by the y-axes of both
cameras and their baseline (see
gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map)。
For a stereo setup of mixed type (i.e., for a stereo setup in which
one of the original cameras is a perspective camera and the other
camera is a telecentric camera; see
gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map), the rectifying plane of
the two cameras is in a position with respect to the object that
would lead to very unintuitive distances. Therefore,
disparity_to_distancedisparity_to_distanceDisparityToDistanceDisparityToDistanceDisparityToDistancedisparity_to_distance does not support stereo setups of
mixed type. For stereo setups of mixed type,
disparity_to_point_3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3dDisparityToPoint3ddisparity_to_point_3d should be used instead.
此外,同时包含配备和未配备超中心镜头的相机的立体设置不受支持。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
CamParamRect1CamParamRect1CamParamRect1CamParamRect1camParamRect1cam_param_rect_1 (输入控制) campar → HCamPar, HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Rectified internal camera parameters of camera 1.
CamParamRect2CamParamRect2CamParamRect2CamParamRect2camParamRect2cam_param_rect_2 (输入控制) campar → HCamPar, HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Rectified internal camera parameters of camera 2.
RelPoseRectRelPoseRectRelPoseRectRelPoseRectrelPoseRectrel_pose_rect (输入控制) pose → HPose, HTupleSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Point transformation from the rectified camera 2 to
the rectified camera 1.
元素数量:
7
DisparityDisparityDisparityDisparitydisparitydisparity (输入控制) number(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Disparity between the images of the world point.
DistanceDistanceDistanceDistancedistancedistance (输出控制) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Distance of a world point to the rectified camera
system.
结果
disparity_to_distancedisparity_to_distanceDisparityToDistanceDisparityToDistanceDisparityToDistancedisparity_to_distance 在所有参数值正确时返回 2 (H_MSG_TRUE)。如有必要,则抛出异常。
可能的前趋
binocular_calibrationbinocular_calibrationBinocularCalibrationBinocularCalibrationBinocularCalibrationbinocular_calibration,
gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map,
map_imagemap_imageMapImageMapImageMapImagemap_image,
binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparityBinocularDisparitybinocular_disparity
替代
binocular_distancebinocular_distanceBinocularDistanceBinocularDistanceBinocularDistancebinocular_distance
另见
distance_to_disparitydistance_to_disparityDistanceToDisparityDistanceToDisparityDistanceToDisparitydistance_to_disparity,
disparity_to_point_3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3dDisparityToPoint3ddisparity_to_point_3d
模块
三维计量