disparity_image_to_xyz T_disparity_image_to_xyz DisparityImageToXyz DisparityImageToXyz disparity_image_to_xyz (Operator)
Name
disparity_image_to_xyz T_disparity_image_to_xyz DisparityImageToXyz DisparityImageToXyz disparity_image_to_xyz
— Berechnet aus einem Disparitätsbild eines rektifizierten Bildpaars
die zugehörigen 3D-Punkte.
Signatur
void DisparityImageToXyz (const HObject& Disparity , HObject* X , HObject* Y , HObject* Z , const HTuple& CamParamRect1 , const HTuple& CamParamRect2 , const HTuple& RelPoseRect )
HImage HImage ::DisparityImageToXyz (HImage* Y , HImage* Z , const HCamPar& CamParamRect1 , const HCamPar& CamParamRect2 , const HPose& RelPoseRect ) const
HImage HCamPar ::DisparityImageToXyz (const HImage& Disparity , HImage* Y , HImage* Z , const HCamPar& CamParamRect2 , const HPose& RelPoseRect ) const
HImage HPose ::DisparityImageToXyz (const HImage& Disparity , HImage* Y , HImage* Z , const HCamPar& CamParamRect1 , const HCamPar& CamParamRect2 ) const
static void HOperatorSet .DisparityImageToXyz (HObject disparity , out HObject x , out HObject y , out HObject z , HTuple camParamRect1 , HTuple camParamRect2 , HTuple relPoseRect )
HImage HImage .DisparityImageToXyz (out HImage y , out HImage z , HCamPar camParamRect1 , HCamPar camParamRect2 , HPose relPoseRect )
HImage HCamPar .DisparityImageToXyz (HImage disparity , out HImage y , out HImage z , HCamPar camParamRect2 , HPose relPoseRect )
HImage HPose .DisparityImageToXyz (HImage disparity , out HImage y , out HImage z , HCamPar camParamRect1 , HCamPar camParamRect2 )
def disparity_image_to_xyz (disparity : HObject, 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]]) -> Tuple[HObject, HObject, HObject]
Beschreibung
Aus dem Disparitätsbild Disparity Disparity Disparity Disparity disparity disparity
eines rektifizierten
binokularen Stereosystems berechnet disparity_image_to_xyz disparity_image_to_xyz DisparityImageToXyz DisparityImageToXyz DisparityImageToXyz disparity_image_to_xyz
die korrespondierenden 3D-Punkte. Ihre Koordinaten bezüglich der
rektifizierten Kamera 1 werden als Grauwerte in den Bildern
X X X X x x
, Y Y Y Y y y
und Z Z Z Z z z
zurückgegeben, d.h. die Pixel
an der Position (Row,Colum) in X X X X x x
, Y Y Y Y y y
und Z Z Z Z z z
enthalten die X-, Y- und Z-Koordinate des Pixels (Row,Colum) im
Disparitätsbild.
Das rektifizierte binokulare Kamerasystem wird durch die internen
Kameraparameter CamParamRect1 CamParamRect1 CamParamRect1 CamParamRect1 camParamRect1 cam_param_rect_1
der rektifizierten Kamera 1
und CamParamRect2 CamParamRect2 CamParamRect2 CamParamRect2 camParamRect2 cam_param_rect_2
der rektifizierten Kamera 2 und die
externen Parameter RelPoseRect RelPoseRect RelPoseRect RelPoseRect relPoseRect rel_pose_rect
bestimmt.
Letzteres ist eine Pose, die in der Form
erwartet wird.
Das heißt, sie beschreibt die Lage des rektifizierten Kamerasystems 2
(ccR2 ) bezüglich des rektifizierten Kamerasystems 1
(ccR1 ). Siehe auch Transformationen / Posen und
„Solution Guide III-C - 3D Vision“
.
Die Werte für diese Kameraparameter können von den Operatoren
calibrate_cameras calibrate_cameras CalibrateCameras CalibrateCameras CalibrateCameras calibrate_cameras
und gen_binocular_rectification_map gen_binocular_rectification_map GenBinocularRectificationMap GenBinocularRectificationMap GenBinocularRectificationMap gen_binocular_rectification_map
erhalten werden.
Achtung
Stereosysteme, die sowohl Kameras mit hyperzentrischen Objektiven
als auch Kameras ohne hyperzentrische Objektive enthalten, werden nicht
unterstützt.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Automatisch parallelisiert auf Tupelebene.
Automatisch parallelisiert auf Domainebene.
Parameter
Disparity Disparity Disparity Disparity disparity disparity
(input_object) singlechannelimage(-array) →
object HImage HObject HImage Hobject (real)
Disparitätsbild.
X X X X x x
(output_object) singlechannelimage(-array) →
object HImage HObject HImage Hobject * (real)
X-Koordinaten der Punkte im rektifizierten
Kamerasystem 1.
Y Y Y Y y y
(output_object) singlechannelimage(-array) →
object HImage HObject HImage Hobject * (real)
Y-Koordinaten der Punkte im rektifizierten
Kamerasystem 1.
Z Z Z Z z z
(output_object) singlechannelimage(-array) →
object HImage HObject HImage Hobject * (real)
Z-Koordinaten der Punkte im rektifizierten
Kamerasystem 1.
CamParamRect1 CamParamRect1 CamParamRect1 CamParamRect1 camParamRect1 cam_param_rect_1
(input_control) campar →
HCamPar , HTuple Sequence[Union[int, float, str]] HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Interne Kameraparameter der rektifizierten Kamera 1.
CamParamRect2 CamParamRect2 CamParamRect2 CamParamRect2 camParamRect2 cam_param_rect_2
(input_control) campar →
HCamPar , HTuple Sequence[Union[int, float, str]] HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Interne Kameraparameter der rektifizierten Kamera 2.
RelPoseRect RelPoseRect RelPoseRect RelPoseRect relPoseRect rel_pose_rect
(input_control) pose →
HPose , HTuple Sequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Lage der zweiten rektifizierten Kamera bzgl. der
ersten rektifizierten Kamera.
Parameteranzahl: 7
Beispiel (HDevelop)
disparity_image_to_xyz (ImageDisparity, ImgX, ImgY, ImgZ, RectCamParL, \
RectCamParR, RectLPosRectR)
get_region_points (ImageDisparity, Rows, Columns)
get_grayval (ImgX, Rows, Columns, XValues)
get_grayval (ImgY, Rows, Columns, YValues)
get_grayval (ImgZ, Rows, Columns, ZValues)
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
disparity_image_to_xyz disparity_image_to_xyz DisparityImageToXyz DisparityImageToXyz DisparityImageToXyz disparity_image_to_xyz
den Wert TRUE. Das Verhalten bei
leerer Eingabe (kein Eingabebild vorhanden) lässt sich mittels
set_system('no_object_result',<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>)
festlegen. Das
Verhalten bei einer leeren Region (Region ist die leere Menge) wird
mit set_system('empty_region_result',<Result>) set_system("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) set_system("empty_region_result",<Result>)
bestimmt.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
binocular_disparity binocular_disparity BinocularDisparity BinocularDisparity BinocularDisparity binocular_disparity
Nachfolger
threshold threshold Threshold Threshold Threshold threshold
,
write_image write_image WriteImage WriteImage WriteImage write_image
Alternativen
disparity_to_point_3d disparity_to_point_3d DisparityToPoint3d DisparityToPoint3d DisparityToPoint3d disparity_to_point_3d
,
binocular_distance binocular_distance BinocularDistance BinocularDistance BinocularDistance binocular_distance
Siehe auch
binocular_calibration binocular_calibration BinocularCalibration BinocularCalibration BinocularCalibration binocular_calibration
,
gen_binocular_rectification_map gen_binocular_rectification_map GenBinocularRectificationMap GenBinocularRectificationMap GenBinocularRectificationMap gen_binocular_rectification_map
,
intersect_lines_of_sight intersect_lines_of_sight IntersectLinesOfSight IntersectLinesOfSight IntersectLinesOfSight intersect_lines_of_sight
Modul
3D Metrology