Name
scene_flow_calib T_scene_flow_calib SceneFlowCalib scene_flow_calib SceneFlowCalib SceneFlowCalib — Berechnung des kalibrierten Szenenflusses zwischen zwei
Stereobildpaaren.
scene_flow_calib (ImageRect1T1 , ImageRect2T1 , ImageRect1T2 , ImageRect2T2 , Disparity : : SmoothingFlow , SmoothingDisparity , GenParamName , GenParamValue , CamParamRect1 , CamParamRect2 , RelPoseRect : ObjectModel3D )
Herror T_scene_flow_calib (const Hobject ImageRect1T1 , const Hobject ImageRect2T1 , const Hobject ImageRect1T2 , const Hobject ImageRect2T2 , const Hobject Disparity , const Htuple SmoothingFlow , const Htuple SmoothingDisparity , const Htuple GenParamName , const Htuple GenParamValue , const Htuple CamParamRect1 , const Htuple CamParamRect2 , const Htuple RelPoseRect , Htuple* ObjectModel3D )
Herror scene_flow_calib (Hobject ImageRect1T1 , Hobject ImageRect2T1 , Hobject ImageRect1T2 , Hobject ImageRect2T2 , Hobject Disparity , const HTuple& SmoothingFlow , const HTuple& SmoothingDisparity , const HTuple& GenParamName , const HTuple& GenParamValue , const HTuple& CamParamRect1 , const HTuple& CamParamRect2 , const HTuple& RelPoseRect , Hlong* ObjectModel3D )
Herror scene_flow_calib (Hobject ImageRect1T1 , Hobject ImageRect2T1 , Hobject ImageRect1T2 , Hobject ImageRect2T2 , Hobject Disparity , const HTuple& SmoothingFlow , const HTuple& SmoothingDisparity , const HTuple& GenParamName , const HTuple& GenParamValue , const HTuple& CamParamRect1 , const HTuple& CamParamRect2 , const HTuple& RelPoseRect , HTuple* ObjectModel3D )
void HObjectModel3D ::SceneFlowCalib (const HImageArray& ImageRect1T1 , const HImageArray& ImageRect2T1 , const HImageArray& ImageRect1T2 , const HImageArray& ImageRect2T2 , const HImageArray& Disparity , const HTuple& SmoothingFlow , const HTuple& SmoothingDisparity , const HTuple& GenParamName , const HTuple& GenParamValue , const HTuple& CamParamRect1 , const HTuple& CamParamRect2 , const HTuple& RelPoseRect )
void SceneFlowCalib (const HObject& ImageRect1T1 , const HObject& ImageRect2T1 , const HObject& ImageRect1T2 , const HObject& ImageRect2T2 , const HObject& Disparity , const HTuple& SmoothingFlow , const HTuple& SmoothingDisparity , const HTuple& GenParamName , const HTuple& GenParamValue , const HTuple& CamParamRect1 , const HTuple& CamParamRect2 , const HTuple& RelPoseRect , HTuple* ObjectModel3D )
static HObjectModel3DArray HObjectModel3D ::SceneFlowCalib (const HImage& ImageRect1T1 , const HImage& ImageRect2T1 , const HImage& ImageRect1T2 , const HImage& ImageRect2T2 , const HImage& Disparity , const HTuple& SmoothingFlow , const HTuple& SmoothingDisparity , const HTuple& GenParamName , const HTuple& GenParamValue , const HTuple& CamParamRect1 , const HTuple& CamParamRect2 , const HPose& RelPoseRect )
void HObjectModel3D ::SceneFlowCalib (const HImage& ImageRect1T1 , const HImage& ImageRect2T1 , const HImage& ImageRect1T2 , const HImage& ImageRect2T2 , const HImage& Disparity , double SmoothingFlow , double SmoothingDisparity , const HString& GenParamName , const HString& GenParamValue , const HTuple& CamParamRect1 , const HTuple& CamParamRect2 , const HPose& RelPoseRect )
void HObjectModel3D ::SceneFlowCalib (const HImage& ImageRect1T1 , const HImage& ImageRect2T1 , const HImage& ImageRect1T2 , const HImage& ImageRect2T2 , const HImage& Disparity , double SmoothingFlow , double SmoothingDisparity , const char* GenParamName , const char* GenParamValue , const HTuple& CamParamRect1 , const HTuple& CamParamRect2 , const HPose& RelPoseRect )
void HOperatorSetX .SceneFlowCalib ( [in] IHUntypedObjectX* ImageRect1T1 , [in] IHUntypedObjectX* ImageRect2T1 , [in] IHUntypedObjectX* ImageRect1T2 , [in] IHUntypedObjectX* ImageRect2T2 , [in] IHUntypedObjectX* Disparity , [in] VARIANT SmoothingFlow , [in] VARIANT SmoothingDisparity , [in] VARIANT GenParamName , [in] VARIANT GenParamValue , [in] VARIANT CamParamRect1 , [in] VARIANT CamParamRect2 , [in] VARIANT RelPoseRect , [out] VARIANT* ObjectModel3D )
void HObjectModel3DX .SceneFlowCalib ( [in] IHImageX* ImageRect1T1 , [in] IHImageX* ImageRect2T1 , [in] IHImageX* ImageRect1T2 , [in] IHImageX* ImageRect2T2 , [in] IHImageX* Disparity , [in] VARIANT SmoothingFlow , [in] VARIANT SmoothingDisparity , [in] VARIANT GenParamName , [in] VARIANT GenParamValue , [in] VARIANT CamParamRect1 , [in] VARIANT CamParamRect2 , [in] VARIANT RelPoseRect )
static void HOperatorSet .SceneFlowCalib (HObject imageRect1T1 , HObject imageRect2T1 , HObject imageRect1T2 , HObject imageRect2T2 , HObject disparity , HTuple smoothingFlow , HTuple smoothingDisparity , HTuple genParamName , HTuple genParamValue , HTuple camParamRect1 , HTuple camParamRect2 , HTuple relPoseRect , out HTuple objectModel3D )
static HObjectModel3D[] HObjectModel3D .SceneFlowCalib (HImage imageRect1T1 , HImage imageRect2T1 , HImage imageRect1T2 , HImage imageRect2T2 , HImage disparity , HTuple smoothingFlow , HTuple smoothingDisparity , HTuple genParamName , HTuple genParamValue , HTuple camParamRect1 , HTuple camParamRect2 , HPose relPoseRect )
void HObjectModel3D .SceneFlowCalib (HImage imageRect1T1 , HImage imageRect2T1 , HImage imageRect1T2 , HImage imageRect2T2 , HImage disparity , double smoothingFlow , double smoothingDisparity , string genParamName , string genParamValue , HTuple camParamRect1 , HTuple camParamRect2 , HPose relPoseRect )
scene_flow_calib scene_flow_calib SceneFlowCalib scene_flow_calib SceneFlowCalib SceneFlowCalib berechnet den kalibrierten Szenenfluss
zwischen zwei rektifizierten aufeinanderfolgenden Stereobildpaaren.
Der Szenenfluss ist die dreidimensionale Position und Bewegung von
Oberflächenpunkten in einer dynamischen Szene. Die Bewegung in den
Bildern kann dadurch verursacht werden, dass sich Objekte oder die
Kamera (oder beides) in der Welt zwischen den Aufnahmen der beiden
Stereobilder bewegen.
Der Szenenfluss wird in dem 3D-Objektmodell ObjectModel3D ObjectModel3D ObjectModel3D ObjectModel3D ObjectModel3D objectModel3D
zurückgegeben. Das 3D-Objektmodell enthält die Koordinaten der
rekonstruierten 3D-Punkte. Zusätzlich wird der 3D-Fluss in dem
3D-Objektmodell durch die Attribute '&flow_x' "&flow_x" "&flow_x" "&flow_x" "&flow_x" "&flow_x" ,
'&flow_y' "&flow_y" "&flow_y" "&flow_y" "&flow_y" "&flow_y" und '&flow_z' "&flow_z" "&flow_z" "&flow_z" "&flow_z" "&flow_z" kodiert. Es ist zu
beachten, dass der Speicher eines 3D-Objektmodells mittels
clear_object_model_3d clear_object_model_3d ClearObjectModel3d clear_object_model_3d ClearObjectModel3d ClearObjectModel3d freigegeben werden muss, falls es
nicht mehr verwendet wird.
Die aufeinanderfolgenden Stereobildpaare werden in
ImageRect1T1 ImageRect1T1 ImageRect1T1 ImageRect1T1 ImageRect1T1 imageRect1T1 , ImageRect2T1 ImageRect2T1 ImageRect2T1 ImageRect2T1 ImageRect2T1 imageRect2T1 , ImageRect1T2 ImageRect1T2 ImageRect1T2 ImageRect1T2 ImageRect1T2 imageRect1T2
und ImageRect2T2 ImageRect2T2 ImageRect2T2 ImageRect2T2 ImageRect2T2 imageRect2T2 übergeben. Jedes Stereobildpaar muss
rektifiziert sein. Die Bildpaare können mit den Operatoren
calibrate_cameras calibrate_cameras CalibrateCameras calibrate_cameras CalibrateCameras CalibrateCameras , gen_binocular_rectification_map gen_binocular_rectification_map GenBinocularRectificationMap gen_binocular_rectification_map GenBinocularRectificationMap GenBinocularRectificationMap
und map_image map_image MapImage map_image MapImage MapImage rektifiziert werden.
Die Kamerageometrie des rektifizierten binokularen Kamerasystems
wird durch die internen Kameraparameter CamParamRect1 CamParamRect1 CamParamRect1 CamParamRect1 CamParamRect1 camParamRect1 der
rektifizierten Kamera 1 und CamParamRect2 CamParamRect2 CamParamRect2 CamParamRect2 CamParamRect2 camParamRect2 der
rektifizierten Kamera 2 und die Pose RelPoseRect RelPoseRect RelPoseRect RelPoseRect RelPoseRect relPoseRect bestimmt,
welche die Lage des rektifizierten Kamerasystems 2 bezüglich des
rektifizierten Kamerasystems 1 beschreibt. Die Werte für diese
Kameraparameter können mit den Operatoren calibrate_cameras calibrate_cameras CalibrateCameras calibrate_cameras CalibrateCameras CalibrateCameras
und gen_binocular_rectification_map gen_binocular_rectification_map GenBinocularRectificationMap gen_binocular_rectification_map GenBinocularRectificationMap GenBinocularRectificationMap bestimmt werden. Die
Brennweite und Pixelgröße der rektifizierten Kamerasysteme 1 und 2
müssen gleich sein.
Außerdem wird ein einkanaliges Disparitätsbild Disparity Disparity Disparity Disparity Disparity disparity
benötigt, welches für jedes Pixel (r,c1) des Bildes
ImageRect1T1 ImageRect1T1 ImageRect1T1 ImageRect1T1 ImageRect1T1 imageRect1T1 ein homologes Pixel (r,c2) im Bild
ImageRect2T1 ImageRect2T1 ImageRect2T1 ImageRect2T1 ImageRect2T1 imageRect2T1 festlegt. Hierbei gilt c2=c1+d(r,c1), wobei
d(r,c) die Disparitäit in Disparity Disparity Disparity Disparity Disparity disparity am Pixel (r,c) ist.
Die Disparität kann mit binocular_disparity binocular_disparity BinocularDisparity binocular_disparity BinocularDisparity BinocularDisparity oder
binocular_disparity_mg binocular_disparity_mg BinocularDisparityMg binocular_disparity_mg BinocularDisparityMg BinocularDisparityMg berechnet werden.
Um den kalibrierten Szenenfluss zu berechnen, wird intern zunächst
scene_flow_uncalib scene_flow_uncalib SceneFlowUncalib scene_flow_uncalib SceneFlowUncalib SceneFlowUncalib ausgeführt. Die Ergebnisse werden dann
unter Verwendung der oben beschriebenen
Stereokamera-Geometrie-Parameter in 3D-Punkte und 3D-Flussvektoren
umgerechnet.
Für eine Beschreibung der weiteren Parameter von
scene_flow_calib scene_flow_calib SceneFlowCalib scene_flow_calib SceneFlowCalib SceneFlowCalib wird auf scene_flow_uncalib scene_flow_uncalib SceneFlowUncalib scene_flow_uncalib SceneFlowUncalib SceneFlowUncalib
verwiesen.
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Automatisch parallelisiert auf interner Datenebene.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Eingabebild 1 zum Zeitpunkt
.
Eingabebild 2 zum Zeitpunkt
.
Eingabebild 1 zum Zeitpunkt
.
Eingabebild 2 zum Zeitpunkt
.
Dispartät zwischen Eingabebild 1 und 2 zum
Zeitpunkt
.
Gewicht des Regularisierungsterms relativ zum
Datenterm (Ableitungen des optischen Flusses).
Defaultwert: 40.0
Wertevorschläge: 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0
Restriktion: SmoothingFlow > 0.0
Gewicht des Regularisierungsterms relativ zum
Datenterm (Ableitungen der Änderung der Disparität).
Defaultwert: 40.0
Wertevorschläge: 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0
Restriktion: SmoothingDisparity > 0.0
Parametername(n) für den Algorithmus.
Defaultwert:
'default_parameters'
"default_parameters"
"default_parameters"
"default_parameters"
"default_parameters"
"default_parameters"
Wertevorschläge: 'default_parameters' "default_parameters" "default_parameters" "default_parameters" "default_parameters" "default_parameters" , 'warp_levels' "warp_levels" "warp_levels" "warp_levels" "warp_levels" "warp_levels" , 'warp_zoom_factor' "warp_zoom_factor" "warp_zoom_factor" "warp_zoom_factor" "warp_zoom_factor" "warp_zoom_factor" , 'warp_last_level' "warp_last_level" "warp_last_level" "warp_last_level" "warp_last_level" "warp_last_level" , 'outer_iter' "outer_iter" "outer_iter" "outer_iter" "outer_iter" "outer_iter" , 'inner_iter' "inner_iter" "inner_iter" "inner_iter" "inner_iter" "inner_iter" , 'sor_iter' "sor_iter" "sor_iter" "sor_iter" "sor_iter" "sor_iter" , 'omega' "omega" "omega" "omega" "omega" "omega"
Parameterwert(e) für den Algorithmus.
Defaultwert:
'accurate'
"accurate"
"accurate"
"accurate"
"accurate"
"accurate"
Wertevorschläge: 'very_accurate' "very_accurate" "very_accurate" "very_accurate" "very_accurate" "very_accurate" , 'accurate' "accurate" "accurate" "accurate" "accurate" "accurate" , 'fast' "fast" "fast" "fast" "fast" "fast" , 'very_fast' "very_fast" "very_fast" "very_fast" "very_fast" "very_fast" , 0, 1, 2, 3, 4, 5, 6, 0.5, 0.6, 0.7, 0.75, 3, 5, 7, 2, 3, 1.9
Interne Kameraparameter der projektiven
Kamera 1.
Parameteranzahl: CamParamRect1 == 8 || CamParamRect1 == 12
Interne Kameraparameter der projektiven
Kamera 2.
Parameteranzahl: CamParamRect2 == 8 || CamParamRect2 == 12
Lage der zweiten Kamera bzgl. der ersten.
Parameteranzahl: 7
Handle des erstellten 3D-Objektmodells.
If the parameter values are correct, the operator
scene_flow_calib scene_flow_calib SceneFlowCalib scene_flow_calib SceneFlowCalib SceneFlowCalib returns the value 2 (H_MSG_TRUE). If the input is
empty (no input images are available) the behavior can be set via
set_system('no_object_result',<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) . If necessary, an
exception is raised.
binocular_disparity binocular_disparity BinocularDisparity binocular_disparity BinocularDisparity BinocularDisparity ,
binocular_disparity_mg binocular_disparity_mg BinocularDisparityMg binocular_disparity_mg BinocularDisparityMg BinocularDisparityMg
scene_flow_uncalib scene_flow_uncalib SceneFlowUncalib scene_flow_uncalib SceneFlowUncalib SceneFlowUncalib ,
optical_flow_mg optical_flow_mg OpticalFlowMg optical_flow_mg OpticalFlowMg OpticalFlowMg
A. Wedel, C. Rabe, T. Vaudrey, T. Brox, U. Franke and D. Cremers:
„Efficient dense scene flow from sparse or dense stereo data“;
In: Proceedings of the 10th European Conference on Computer Vision:
Part I, pages 739-751. Springer-Verlag, 2008.
Foundation