find_surface_model_imageT_find_surface_model_imageFindSurfaceModelImageFindSurfaceModelImagefind_surface_model_image (Operator)
Name
find_surface_model_imageT_find_surface_model_imageFindSurfaceModelImageFindSurfaceModelImagefind_surface_model_image — Suche der besten Matches eines Oberflächenmodells in einer 3D-Szene und
Bildern.
Signatur
Herror T_find_surface_model_image(const Hobject Image, const Htuple SurfaceModelID, const Htuple ObjectModel3D, const Htuple RelSamplingDistance, const Htuple KeyPointFraction, const Htuple MinScore, const Htuple ReturnResultHandle, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Pose, Htuple* Score, Htuple* SurfaceMatchingResultID)
void FindSurfaceModelImage(const HObject& Image, const HTuple& SurfaceModelID, const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& KeyPointFraction, const HTuple& MinScore, const HTuple& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* Score, HTuple* SurfaceMatchingResultID)
HPoseArray HObjectModel3D::FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, const HTuple& MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResultArray* SurfaceMatchingResultID) const
HPose HObjectModel3D::FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const
HPose HObjectModel3D::FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const char* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const
HPose HObjectModel3D::FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const wchar_t* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const
(Nur Windows)
HPoseArray HSurfaceModel::FindSurfaceModelImage(const HImage& Image, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, double KeyPointFraction, const HTuple& MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResultArray* SurfaceMatchingResultID) const
HPose HSurfaceModel::FindSurfaceModelImage(const HImage& Image, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, double KeyPointFraction, double MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const
HPose HSurfaceModel::FindSurfaceModelImage(const HImage& Image, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, double KeyPointFraction, double MinScore, const char* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const
HPose HSurfaceModel::FindSurfaceModelImage(const HImage& Image, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, double KeyPointFraction, double MinScore, const wchar_t* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const
(Nur Windows)
static HPoseArray HSurfaceMatchingResult::FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, double KeyPointFraction, const HTuple& MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResultArray* SurfaceMatchingResultID)
HPose HSurfaceMatchingResult::FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, double KeyPointFraction, double MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score)
HPose HSurfaceMatchingResult::FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, double KeyPointFraction, double MinScore, const char* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score)
HPose HSurfaceMatchingResult::FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, double KeyPointFraction, double MinScore, const wchar_t* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score)
(Nur Windows)
static void HOperatorSet.FindSurfaceModelImage(HObject image, HTuple surfaceModelID, HTuple objectModel3D, HTuple relSamplingDistance, HTuple keyPointFraction, HTuple minScore, HTuple returnResultHandle, HTuple genParamName, HTuple genParamValue, out HTuple pose, out HTuple score, out HTuple surfaceMatchingResultID)
HPose[] HObjectModel3D.FindSurfaceModelImage(HImage image, HSurfaceModel surfaceModelID, double relSamplingDistance, double keyPointFraction, HTuple minScore, string returnResultHandle, HTuple genParamName, HTuple genParamValue, out HTuple score, out HSurfaceMatchingResult[] surfaceMatchingResultID)
HPose HObjectModel3D.FindSurfaceModelImage(HImage image, HSurfaceModel surfaceModelID, double relSamplingDistance, double keyPointFraction, double minScore, string returnResultHandle, HTuple genParamName, HTuple genParamValue, out HTuple score, out HSurfaceMatchingResult surfaceMatchingResultID)
HPose[] HSurfaceModel.FindSurfaceModelImage(HImage image, HObjectModel3D objectModel3D, double relSamplingDistance, double keyPointFraction, HTuple minScore, string returnResultHandle, HTuple genParamName, HTuple genParamValue, out HTuple score, out HSurfaceMatchingResult[] surfaceMatchingResultID)
HPose HSurfaceModel.FindSurfaceModelImage(HImage image, HObjectModel3D objectModel3D, double relSamplingDistance, double keyPointFraction, double minScore, string returnResultHandle, HTuple genParamName, HTuple genParamValue, out HTuple score, out HSurfaceMatchingResult surfaceMatchingResultID)
static HPose[] HSurfaceMatchingResult.FindSurfaceModelImage(HImage image, HSurfaceModel surfaceModelID, HObjectModel3D objectModel3D, double relSamplingDistance, double keyPointFraction, HTuple minScore, string returnResultHandle, HTuple genParamName, HTuple genParamValue, out HTuple score, out HSurfaceMatchingResult[] surfaceMatchingResultID)
HPose HSurfaceMatchingResult.FindSurfaceModelImage(HImage image, HSurfaceModel surfaceModelID, HObjectModel3D objectModel3D, double relSamplingDistance, double keyPointFraction, double minScore, string returnResultHandle, HTuple genParamName, HTuple genParamValue, out HTuple score)
def find_surface_model_image(image: HObject, surface_model_id: HHandle, object_model_3d: HHandle, rel_sampling_distance: float, key_point_fraction: float, min_score: MaybeSequence[Union[float, int]], return_result_handle: str, gen_param_name: Sequence[str], gen_param_value: Sequence[Union[str, float, int]]) -> Tuple[Sequence[Union[float, int]], Sequence[float], Sequence[HHandle]]
def find_surface_model_image_s(image: HObject, surface_model_id: HHandle, object_model_3d: HHandle, rel_sampling_distance: float, key_point_fraction: float, min_score: MaybeSequence[Union[float, int]], return_result_handle: str, gen_param_name: Sequence[str], gen_param_value: Sequence[Union[str, float, int]]) -> Tuple[Sequence[Union[float, int]], Sequence[float], HHandle]
Beschreibung
find_surface_model_imagefind_surface_model_imageFindSurfaceModelImageFindSurfaceModelImageFindSurfaceModelImagefind_surface_model_image sucht die besten Matches des
Oberflächenmodells SurfaceModelIDSurfaceModelIDSurfaceModelIDSurfaceModelIDsurfaceModelIDsurface_model_id in der Szene, die durch das
3D-Objektmodell ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d und Bildern der Szene ImageImageImageImageimageimage
dargestellt wird.
Die Anzahl der in ImageImageImageImageimageimage übergebenen Bilder muss mit der
Anzahl der mit set_surface_model_paramset_surface_model_paramSetSurfaceModelParamSetSurfaceModelParamSetSurfaceModelParamset_surface_model_param gesetzten Kameras
übereinstimmen.
Weiterhin muss bei der Erzeugung des Oberflächenmodells in
create_surface_modelcreate_surface_modelCreateSurfaceModelCreateSurfaceModelCreateSurfaceModelcreate_surface_model der Parameter 'train_3d_edges'"train_3d_edges""train_3d_edges""train_3d_edges""train_3d_edges""train_3d_edges"
aktiviert worden sein.
Die Bilder werden nur für die grobe und feine Pose-Verfeinerung
verwendet, nicht für das näherungsweise Matching.
Dazu wird gleichzeitig die Übereinstimmung des Modells mit den
3D-Daten der Szene sowie die Übereinstimmung der
rückprojizierten Modellkanten mit den Kanten in den übergebenen
Bildern optimiert. Der Definitionsbereich der Bilder wird hierbei ignoriert.
Zusätzlich zu den in find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModelfind_surface_model dokumentierten Parametern
unterstützt find_surface_model_imagefind_surface_model_imageFindSurfaceModelImageFindSurfaceModelImageFindSurfaceModelImagefind_surface_model_image auch die folgenden
generischen Parameter:
- 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast""min_contrast":
-
Setzt den Mindestkontrast des Objekts im Suchbild.
Kanten deren Kontrast unter diesem Schwellenwert liegen werden
bei der Verfeinerung ignoriert.
Vorgeschlagene Werte: 5, 10, 20
Standardwert: 10
Restriktion: 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast""min_contrast" >= 0
- 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation""max_deformation":
-
Setzt den Suchbereich in Pixeln für korrespondierenden Bildkanten.
Dieser Parameter kann verwendet werden, wenn das Objekt gegenüber
den in create_surface_modelcreate_surface_modelCreateSurfaceModelCreateSurfaceModelCreateSurfaceModelcreate_surface_model trainierten Modell leicht verformt ist.
Eine Erhöhung dieses Parameters kann einen deutlichen Einfluss auf die
Laufzeit des Operators haben.
Vorgeschlagene Werte: 0, 1, 5
Standardwert: 1
Restriktion: 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation""max_deformation" >= 0
Ausführungsinformationen
- 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.
Dieser Operator unterstützt Cancel-Timeouts und Interrupts.
Parameter
ImageImageImageImageimageimage (input_object) (multichannel-)image(-array) → objectHImageHObjectHImageHobject (byte / uint2)
Bilder der Szene.
SurfaceModelIDSurfaceModelIDSurfaceModelIDSurfaceModelIDsurfaceModelIDsurface_model_id (input_control) surface_model → HSurfaceModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Oberflächenmodells.
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d (input_control) object_model_3d → HObjectModel3D, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des 3D-Objektmodells, welches die Szene
enthält.
RelSamplingDistanceRelSamplingDistanceRelSamplingDistanceRelSamplingDistancerelSamplingDistancerel_sampling_distance (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Abtastdistanz der Szene relativ zum
Durchmesser des Oberflächenmodells.
Defaultwert: 0.05
Wertevorschläge: 0.1, 0.07, 0.05, 0.04, 0.03
Restriktion: 0 < RelSamplingDistance < 1
KeyPointFractionKeyPointFractionKeyPointFractionKeyPointFractionkeyPointFractionkey_point_fraction (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Anteil der abgetasteten Szenepunkte, die als
Schlüsselpunkte verwendet werden.
Defaultwert: 0.2
Wertevorschläge: 0.3, 0.2, 0.1, 0.05
Restriktion: 0 < KeyPointFraction <= 1
MinScoreMinScoreMinScoreMinScoreminScoremin_score (input_control) real(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Mindestbewertung der zurückgegebenen Posen.
Defaultwert: 0
Restriktion: MinScore >= 0
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control) attribute.name-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Namen der generischen Parameter.
Defaultwert: []
Werteliste: '3d_edge_min_amplitude_abs'"3d_edge_min_amplitude_abs""3d_edge_min_amplitude_abs""3d_edge_min_amplitude_abs""3d_edge_min_amplitude_abs""3d_edge_min_amplitude_abs", '3d_edge_min_amplitude_rel'"3d_edge_min_amplitude_rel""3d_edge_min_amplitude_rel""3d_edge_min_amplitude_rel""3d_edge_min_amplitude_rel""3d_edge_min_amplitude_rel", '3d_edges'"3d_edges""3d_edges""3d_edges""3d_edges""3d_edges", 'dense_pose_refinement'"dense_pose_refinement""dense_pose_refinement""dense_pose_refinement""dense_pose_refinement""dense_pose_refinement", 'max_deformation'"max_deformation""max_deformation""max_deformation""max_deformation""max_deformation", 'max_gap'"max_gap""max_gap""max_gap""max_gap""max_gap", 'max_overlap_dist_abs'"max_overlap_dist_abs""max_overlap_dist_abs""max_overlap_dist_abs""max_overlap_dist_abs""max_overlap_dist_abs", 'max_overlap_dist_rel'"max_overlap_dist_rel""max_overlap_dist_rel""max_overlap_dist_rel""max_overlap_dist_rel""max_overlap_dist_rel", 'min_contrast'"min_contrast""min_contrast""min_contrast""min_contrast""min_contrast", 'num_matches'"num_matches""num_matches""num_matches""num_matches""num_matches", 'pose_ref_dist_threshold_abs'"pose_ref_dist_threshold_abs""pose_ref_dist_threshold_abs""pose_ref_dist_threshold_abs""pose_ref_dist_threshold_abs""pose_ref_dist_threshold_abs", 'pose_ref_dist_threshold_rel'"pose_ref_dist_threshold_rel""pose_ref_dist_threshold_rel""pose_ref_dist_threshold_rel""pose_ref_dist_threshold_rel""pose_ref_dist_threshold_rel", 'pose_ref_num_steps'"pose_ref_num_steps""pose_ref_num_steps""pose_ref_num_steps""pose_ref_num_steps""pose_ref_num_steps", 'pose_ref_scoring_dist_abs'"pose_ref_scoring_dist_abs""pose_ref_scoring_dist_abs""pose_ref_scoring_dist_abs""pose_ref_scoring_dist_abs""pose_ref_scoring_dist_abs", 'pose_ref_scoring_dist_rel'"pose_ref_scoring_dist_rel""pose_ref_scoring_dist_rel""pose_ref_scoring_dist_rel""pose_ref_scoring_dist_rel""pose_ref_scoring_dist_rel", 'pose_ref_sub_sampling'"pose_ref_sub_sampling""pose_ref_sub_sampling""pose_ref_sub_sampling""pose_ref_sub_sampling""pose_ref_sub_sampling", 'pose_ref_use_scene_normals'"pose_ref_use_scene_normals""pose_ref_use_scene_normals""pose_ref_use_scene_normals""pose_ref_use_scene_normals""pose_ref_use_scene_normals", 'scene_invert_normals'"scene_invert_normals""scene_invert_normals""scene_invert_normals""scene_invert_normals""scene_invert_normals", 'scene_normal_computation'"scene_normal_computation""scene_normal_computation""scene_normal_computation""scene_normal_computation""scene_normal_computation", 'sparse_pose_refinement'"sparse_pose_refinement""sparse_pose_refinement""sparse_pose_refinement""sparse_pose_refinement""sparse_pose_refinement", 'use_3d_edges'"use_3d_edges""use_3d_edges""use_3d_edges""use_3d_edges""use_3d_edges", 'use_self_similar_poses'"use_self_similar_poses""use_self_similar_poses""use_self_similar_poses""use_self_similar_poses""use_self_similar_poses", 'use_view_based'"use_view_based""use_view_based""use_view_based""use_view_based""use_view_based", 'viewpoint'"viewpoint""viewpoint""viewpoint""viewpoint""viewpoint"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control) attribute.value-array → HTupleSequence[Union[str, float, int]]HTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)
Werte der generischen Parameter
Defaultwert: []
Wertevorschläge: 0, 1, 'true'"true""true""true""true""true", 'false'"false""false""false""false""false", 0.005, 0.01, 0.03, 0.05, 0.1, 'num_scene_points'"num_scene_points""num_scene_points""num_scene_points""num_scene_points""num_scene_points", 'model_point_fraction'"model_point_fraction""model_point_fraction""model_point_fraction""model_point_fraction""model_point_fraction", 'num_model_points'"num_model_points""num_model_points""num_model_points""num_model_points""num_model_points", 'fast'"fast""fast""fast""fast""fast", 'mls'"mls""mls""mls""mls""mls"
PosePosePosePoseposepose (output_control) pose(-array) → HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
3D-Lagen des Oberflächenmodells in der Szene.
ScoreScoreScoreScorescorescore (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Bewertung der gefundenen Objektinstanzen.
Ergebnis
Wenn alle Parameter korrekt sind liefert find_surface_model_imagefind_surface_model_imageFindSurfaceModelImageFindSurfaceModelImageFindSurfaceModelImagefind_surface_model_image den
Wert TRUE.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d,
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParamsget_object_model_3d_params,
read_surface_modelread_surface_modelReadSurfaceModelReadSurfaceModelReadSurfaceModelread_surface_model,
create_surface_modelcreate_surface_modelCreateSurfaceModelCreateSurfaceModelCreateSurfaceModelcreate_surface_model,
get_surface_model_paramget_surface_model_paramGetSurfaceModelParamGetSurfaceModelParamGetSurfaceModelParamget_surface_model_param,
edges_object_model_3dedges_object_model_3dEdgesObjectModel3dEdgesObjectModel3dEdgesObjectModel3dedges_object_model_3d
Nachfolger
refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPoserefine_surface_model_pose,
get_surface_matching_resultget_surface_matching_resultGetSurfaceMatchingResultGetSurfaceMatchingResultGetSurfaceMatchingResultget_surface_matching_result,
clear_surface_matching_resultclear_surface_matching_resultClearSurfaceMatchingResultClearSurfaceMatchingResultClearSurfaceMatchingResultclear_surface_matching_result,
clear_object_model_3dclear_object_model_3dClearObjectModel3dClearObjectModel3dClearObjectModel3dclear_object_model_3d
Alternativen
refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPoserefine_surface_model_pose,
find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModelfind_surface_model,
refine_surface_model_pose_imagerefine_surface_model_pose_imageRefineSurfaceModelPoseImageRefineSurfaceModelPoseImageRefineSurfaceModelPoseImagerefine_surface_model_pose_image
Siehe auch
refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPoserefine_surface_model_pose,
find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModelfind_surface_model
Modul
3D Metrology