Name
find_calib_descriptor_modelT_find_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel — Suchen der besten Matches eines kalibrierten, Deskriptormodells
in einem Suchbild und Bestimmung seiner 3D-Lage (Pose).
Herror T_find_calib_descriptor_model(const Hobject Image, const Htuple ModelID, const Htuple DetectorParamName, const Htuple DetectorParamValue, const Htuple DescriptorParamName, const Htuple DescriptorParamValue, const Htuple MinScore, const Htuple NumMatches, const Htuple CamParam, const Htuple ScoreType, Htuple* Pose, Htuple* Score)
Herror find_calib_descriptor_model(Hobject Image, const HTuple& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& CamParam, const HTuple& ScoreType, HTuple* Pose, HTuple* Score)
HTuple HImage::FindCalibDescriptorModel(const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& CamParam, const HTuple& ScoreType, HTuple* Score) const
HTuple HDescriptorModel::FindCalibDescriptorModel(const HImage& Image, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& CamParam, const HTuple& ScoreType, HTuple* Score) const
void FindCalibDescriptorModel(const HObject& Image, const HTuple& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& CamParam, const HTuple& ScoreType, HTuple* Pose, HTuple* Score)
HPoseArray HDescriptorModel::FindCalibDescriptorModel(const HImage& Image, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, Hlong NumMatches, const HCamPar& CamParam, const HTuple& ScoreType, HTuple* Score) const
HPose HDescriptorModel::FindCalibDescriptorModel(const HImage& Image, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, double MinScore, Hlong NumMatches, const HCamPar& CamParam, const HString& ScoreType, double* Score) const
HPose HDescriptorModel::FindCalibDescriptorModel(const HImage& Image, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, double MinScore, Hlong NumMatches, const HCamPar& CamParam, const char* ScoreType, double* Score) const
HPoseArray HImage::FindCalibDescriptorModel(const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, Hlong NumMatches, const HCamPar& CamParam, const HTuple& ScoreType, HTuple* Score) const
HPose HImage::FindCalibDescriptorModel(const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, double MinScore, Hlong NumMatches, const HCamPar& CamParam, const HString& ScoreType, double* Score) const
HPose HImage::FindCalibDescriptorModel(const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, double MinScore, Hlong NumMatches, const HCamPar& CamParam, const char* ScoreType, double* Score) const
HPoseArray HCamPar::FindCalibDescriptorModel(const HImage& Image, const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, Hlong NumMatches, const HTuple& ScoreType, HTuple* Score) const
HPose HCamPar::FindCalibDescriptorModel(const HImage& Image, const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, double MinScore, Hlong NumMatches, const HString& ScoreType, double* Score) const
HPose HCamPar::FindCalibDescriptorModel(const HImage& Image, const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, double MinScore, Hlong NumMatches, const char* ScoreType, double* Score) const
static HTuple HPose::FindCalibDescriptorModel(const HImage& Image, const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, const HTuple& MinScore, Hlong NumMatches, const HCamPar& CamParam, const HTuple& ScoreType, HPoseArray* Pose)
double HPose::FindCalibDescriptorModel(const HImage& Image, const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, double MinScore, Hlong NumMatches, const HCamPar& CamParam, const HString& ScoreType)
double HPose::FindCalibDescriptorModel(const HImage& Image, const HDescriptorModel& ModelID, const HTuple& DetectorParamName, const HTuple& DetectorParamValue, const HTuple& DescriptorParamName, const HTuple& DescriptorParamValue, double MinScore, Hlong NumMatches, const HCamPar& CamParam, const char* ScoreType)
void HOperatorSetX.FindCalibDescriptorModel(
[in] IHUntypedObjectX* Image, [in] VARIANT ModelID, [in] VARIANT DetectorParamName, [in] VARIANT DetectorParamValue, [in] VARIANT DescriptorParamName, [in] VARIANT DescriptorParamValue, [in] VARIANT MinScore, [in] VARIANT NumMatches, [in] VARIANT CamParam, [in] VARIANT ScoreType, [out] VARIANT* Pose, [out] VARIANT* Score)
VARIANT HDescriptorModelX.FindCalibDescriptorModel(
[in] IHImageX* Image, [in] VARIANT DetectorParamName, [in] VARIANT DetectorParamValue, [in] VARIANT DescriptorParamName, [in] VARIANT DescriptorParamValue, [in] VARIANT MinScore, [in] Hlong NumMatches, [in] VARIANT CamParam, [in] VARIANT ScoreType, [out] VARIANT* Score)
VARIANT HImageX.FindCalibDescriptorModel(
[in] IHDescriptorModelX* ModelID, [in] VARIANT DetectorParamName, [in] VARIANT DetectorParamValue, [in] VARIANT DescriptorParamName, [in] VARIANT DescriptorParamValue, [in] VARIANT MinScore, [in] Hlong NumMatches, [in] VARIANT CamParam, [in] VARIANT ScoreType, [out] VARIANT* Score)
VARIANT HCamParX.FindCalibDescriptorModel(
[in] IHImageX* Image, [in] IHDescriptorModelX* ModelID, [in] VARIANT DetectorParamName, [in] VARIANT DetectorParamValue, [in] VARIANT DescriptorParamName, [in] VARIANT DescriptorParamValue, [in] VARIANT MinScore, [in] Hlong NumMatches, [in] VARIANT CamParam, [in] VARIANT ScoreType, [out] VARIANT* Score)
VARIANT HPoseX.FindCalibDescriptorModel(
[in] IHImageX* Image, [in] IHDescriptorModelX* ModelID, [in] VARIANT DetectorParamName, [in] VARIANT DetectorParamValue, [in] VARIANT DescriptorParamName, [in] VARIANT DescriptorParamValue, [in] VARIANT MinScore, [in] Hlong NumMatches, [in] VARIANT CamParam, [in] VARIANT ScoreType, [out] VARIANT* Score)
static void HOperatorSet.FindCalibDescriptorModel(HObject image, HTuple modelID, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, HTuple minScore, HTuple numMatches, HTuple camParam, HTuple scoreType, out HTuple pose, out HTuple score)
HPose[] HDescriptorModel.FindCalibDescriptorModel(HImage image, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, HTuple minScore, int numMatches, HCamPar camParam, HTuple scoreType, out HTuple score)
HPose HDescriptorModel.FindCalibDescriptorModel(HImage image, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, double minScore, int numMatches, HCamPar camParam, string scoreType, out double score)
HPose[] HImage.FindCalibDescriptorModel(HDescriptorModel modelID, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, HTuple minScore, int numMatches, HCamPar camParam, HTuple scoreType, out HTuple score)
HPose HImage.FindCalibDescriptorModel(HDescriptorModel modelID, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, double minScore, int numMatches, HCamPar camParam, string scoreType, out double score)
HPose[] HCamPar.FindCalibDescriptorModel(HImage image, HDescriptorModel modelID, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, HTuple minScore, int numMatches, HTuple scoreType, out HTuple score)
HPose HCamPar.FindCalibDescriptorModel(HImage image, HDescriptorModel modelID, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, double minScore, int numMatches, string scoreType, out double score)
static HTuple HPose.FindCalibDescriptorModel(HImage image, HDescriptorModel modelID, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, HTuple minScore, int numMatches, HCamPar camParam, HTuple scoreType, out HPose[] pose)
double HPose.FindCalibDescriptorModel(HImage image, HDescriptorModel modelID, HTuple detectorParamName, HTuple detectorParamValue, HTuple descriptorParamName, HTuple descriptorParamValue, double minScore, int numMatches, HCamPar camParam, string scoreType)
Der Operator find_calib_descriptor_modelfind_calib_descriptor_modelFindCalibDescriptorModelfind_calib_descriptor_modelFindCalibDescriptorModelFindCalibDescriptorModel sucht den besten
Match eines Deskriptormodells ModelIDModelIDModelIDModelIDModelIDmodelID in
einem Suchbild ImageImageImageImageImageimage. Ein Deskriptormodell
beinhaltet Beschreibungen von Merkmalspunkten und muss zuvor durch
create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel erzeugt oder mit
read_descriptor_modelread_descriptor_modelReadDescriptorModelread_descriptor_modelReadDescriptorModelReadDescriptorModel eingelesen worden sein.
Die zurückgelieferte PosePosePosePosePosepose ist die Pose (im
Kamera-Koordinatensystem) des gefundenen Musterobjekts im Suchbild
ImageImageImageImageImageimage. Da für Modellgenerierung und Suche unterschiedliche
Kameras verwendet werden können, müssen die Kameraparameter der
'Suchkamera' in CamParamCamParamCamParamCamParamCamParamcamParam übergeben werden.
Der Suchprozess ist derselbe wie in find_uncalib_descriptor_modelfind_uncalib_descriptor_modelFindUncalibDescriptorModelfind_uncalib_descriptor_modelFindUncalibDescriptorModelFindUncalibDescriptorModel.
Die Einstellungen für DetectorParamNameDetectorParamNameDetectorParamNameDetectorParamNameDetectorParamNamedetectorParamName,
DetectorParamValueDetectorParamValueDetectorParamValueDetectorParamValueDetectorParamValuedetectorParamValue, DescriptorParamNameDescriptorParamNameDescriptorParamNameDescriptorParamNameDescriptorParamNamedescriptorParamName,
DescriptorParamValueDescriptorParamValueDescriptorParamValueDescriptorParamValueDescriptorParamValuedescriptorParamValue, MinScoreMinScoreMinScoreMinScoreMinScoreminScore,
NumMatchesNumMatchesNumMatchesNumMatchesNumMatchesnumMatches und ScoreTypeScoreTypeScoreTypeScoreTypeScoreTypescoreType sind beim Operator
find_uncalib_descriptor_modelfind_uncalib_descriptor_modelFindUncalibDescriptorModelfind_uncalib_descriptor_modelFindUncalibDescriptorModelFindUncalibDescriptorModel beschrieben. Wenn ein Objekt gefunden
wird, werden die korrespondierenden Modell- und Suchpunkte intern an
vector_to_posevector_to_poseVectorToPosevector_to_poseVectorToPoseVectorToPose übergeben, um die Pose des Objekts zu bestimmen.
Wie beim Operator create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel beschrieben, werden
die Modellpunkte davor in Weltkoordinaten der Modellebene umgerechnet.
Die gefundenen Punktkorrespondenzen einzelner Instanzen können mit Hilfe
des Operators get_descriptor_model_pointsget_descriptor_model_pointsGetDescriptorModelPointsget_descriptor_model_pointsGetDescriptorModelPointsGetDescriptorModelPoints abgefragt werden.
Der Definitionsbereich des Suchbildes sollte das gesamte gesuchte
Objekt enthalten, da die Merkmalspunkte nur innerhalb des
Definitionsbereiches des Suchbildes extrahiert werden. Das bedeutet,
dass der resultierende ScoreScoreScoreScoreScorescore entsprechend kleiner wird, wenn
der Definitionsbereich nicht das gesamte gesuchte Objekt enthält.
Des Weiteren ist zu beachten, dass Matches auch dann zurück gegeben
werden, wenn der Referenzpunkt des Modells außerhalb des
Definitionsbereiches des Suchbildes liegt. Die beiden hier
geschilderten Auswirkungen des Definitionsbereiches des Suchbildes
unterscheiden sich grundsätzlich von der Auswirkung des
Definitionsbereiches beim formbasierten Matching, wo der
Definitionsbereich den Suchraum für den Referenzpunkt des Modells
darstellt.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Der Handle des Deskriptormodells.
Namen der Parameter des Detektors.
Defaultwert: []
Werteliste: 'alpha'"alpha""alpha""alpha""alpha""alpha", 'check_neighbor'"check_neighbor""check_neighbor""check_neighbor""check_neighbor""check_neighbor", 'mask_size_grd'"mask_size_grd""mask_size_grd""mask_size_grd""mask_size_grd""mask_size_grd", 'mask_size_smooth'"mask_size_smooth""mask_size_smooth""mask_size_smooth""mask_size_smooth""mask_size_smooth", 'min_check_neighbor_diff'"min_check_neighbor_diff""min_check_neighbor_diff""min_check_neighbor_diff""min_check_neighbor_diff""min_check_neighbor_diff", 'min_score'"min_score""min_score""min_score""min_score""min_score", 'radius'"radius""radius""radius""radius""radius", 'sigma_grad'"sigma_grad""sigma_grad""sigma_grad""sigma_grad""sigma_grad", 'sigma_smooth'"sigma_smooth""sigma_smooth""sigma_smooth""sigma_smooth""sigma_smooth", 'subpix'"subpix""subpix""subpix""subpix""subpix", 'threshold'"threshold""threshold""threshold""threshold""threshold"
Werte der Detektor-Parameter.
Defaultwert: []
Wertevorschläge: 0.08, 1, 1.2, 3, 15, 30, 1000, 'on'"on""on""on""on""on", 'off'"off""off""off""off""off"
Namen der Deskriptor-Parameter.
Defaultwert: []
Werteliste: 'guided_matching'"guided_matching""guided_matching""guided_matching""guided_matching""guided_matching", 'min_score_descr'"min_score_descr""min_score_descr""min_score_descr""min_score_descr""min_score_descr"
Werte der Deskriptor-Parameter.
Defaultwert: []
Wertevorschläge: 0.0, 0.001, 0.005, 0.01, 'on'"on""on""on""on""on", 'off'"off""off""off""off""off"
Minimale Bewertung der zu findenden Instanzen
der Modelle.
Defaultwert: 0.2
Wertevorschläge: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Typischer Wertebereich: 0
≤
MinScore
MinScore
MinScore
MinScore
MinScore
minScore
≤
1
Maximale Anzahl von gefundenen Instanzen.
Defaultwert: 1
Wertevorschläge: 1, 2, 3, 4
Restriktion: NumMatches >= 1
Kamera Parameter (innere Orientierung) aus
Kamerakalibrierung.
Bewertungstyp berechnet in ScoreScoreScoreScoreScorescore.
Defaultwert:
'num_points'
"num_points"
"num_points"
"num_points"
"num_points"
"num_points"
Werteliste: 'inlier_ratio'"inlier_ratio""inlier_ratio""inlier_ratio""inlier_ratio""inlier_ratio", 'num_points'"num_points""num_points""num_points""num_points""num_points"
Bewertung der gefundenen Instanzen gemäß
ausgewählten ScoreType.
* Perform camera calibration (with standard calibration plate)
calibrate_cameras (CalibDataID, Error)
get_calib_data (CalibDataID, 'camera', 0, 'params', CamParam)
* World coordinate system is defined by calibration plate in first image
get_calib_data (CalibDataID, 'calib_obj_pose', [0,0], 'pose', \
ObjInCameraPose)
* Compensate thickness of plate
set_origin_pose(ObjInCameraPose, 0, 0, 0.0006, WorldPose)
* Create descriptor model:
create_calib_descriptor_model (Image,CamParam,WorldPose, \
'harris',[],[],[],[],42,ModelID)
get_descriptor_model_params (ModelID,DetectorType, \
DetectorParamName,DetectorParamValue, \
DescriptorParamName,DescriptorParamValue)
write_descriptor_model (ModelID,'simple_example.dsm')
clear_descriptor_model (ModelID)
read_descriptor_model ('simple_example.dsm',ModelID)
find_calib_descriptor_model (SearchImage,ModelID,[],[],[],[],0.2,1, \
CamParam,['num_points','inlier_ratio'], \
Pose,Score)
clear_descriptor_model (ModelID)
create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel,
read_descriptor_modelread_descriptor_modelReadDescriptorModelread_descriptor_modelReadDescriptorModelReadDescriptorModel
vector_to_posevector_to_poseVectorToPosevector_to_poseVectorToPoseVectorToPose,
points_lepetitpoints_lepetitPointsLepetitpoints_lepetitPointsLepetitPointsLepetit,
create_calib_descriptor_modelcreate_calib_descriptor_modelCreateCalibDescriptorModelcreate_calib_descriptor_modelCreateCalibDescriptorModelCreateCalibDescriptorModel
Matching