find_planar_calib_deformable_modelT_find_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel (Operator)
Name
find_planar_calib_deformable_modelT_find_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel
— Suche nach den besten Matches eines kalibrierten, deformierbaren
Modells in einem Bild und bestimme ihre 3D Lage.
Signatur
find_planar_calib_deformable_model(Image : : ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, GenParamName, GenParamValue : Pose, CovPose, Score)
Herror T_find_planar_calib_deformable_model(const Hobject Image, const Htuple ModelID, const Htuple AngleStart, const Htuple AngleExtent, const Htuple ScaleRMin, const Htuple ScaleRMax, const Htuple ScaleCMin, const Htuple ScaleCMax, const Htuple MinScore, const Htuple NumMatches, const Htuple MaxOverlap, const Htuple NumLevels, const Htuple Greediness, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Pose, Htuple* CovPose, Htuple* Score)
void FindPlanarCalibDeformableModel(const HObject& Image, const HTuple& ModelID, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& MinScore, const HTuple& NumMatches, const HTuple& MaxOverlap, const HTuple& NumLevels, const HTuple& Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Pose, HTuple* CovPose, HTuple* Score)
HPoseArray HDeformableModel::FindPlanarCalibDeformableModel(const HImage& Image, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, const HTuple& NumLevels, double Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CovPose, HTuple* Score) const
HPose HDeformableModel::FindPlanarCalibDeformableModel(const HImage& Image, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, Hlong NumLevels, double Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CovPose, HTuple* Score) const
HPoseArray HImage::FindPlanarCalibDeformableModel(const HDeformableModel& ModelID, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, const HTuple& NumLevels, double Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CovPose, HTuple* Score) const
HPose HImage::FindPlanarCalibDeformableModel(const HDeformableModel& ModelID, double AngleStart, double AngleExtent, double ScaleRMin, double ScaleRMax, double ScaleCMin, double ScaleCMax, double MinScore, Hlong NumMatches, double MaxOverlap, Hlong NumLevels, double Greediness, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* CovPose, HTuple* Score) const
static void HOperatorSet.FindPlanarCalibDeformableModel(HObject image, HTuple modelID, HTuple angleStart, HTuple angleExtent, HTuple scaleRMin, HTuple scaleRMax, HTuple scaleCMin, HTuple scaleCMax, HTuple minScore, HTuple numMatches, HTuple maxOverlap, HTuple numLevels, HTuple greediness, HTuple genParamName, HTuple genParamValue, out HTuple pose, out HTuple covPose, out HTuple score)
HPose[] HDeformableModel.FindPlanarCalibDeformableModel(HImage image, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, HTuple numLevels, double greediness, HTuple genParamName, HTuple genParamValue, out HTuple covPose, out HTuple score)
HPose HDeformableModel.FindPlanarCalibDeformableModel(HImage image, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, int numLevels, double greediness, HTuple genParamName, HTuple genParamValue, out HTuple covPose, out HTuple score)
HPose[] HImage.FindPlanarCalibDeformableModel(HDeformableModel modelID, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, HTuple numLevels, double greediness, HTuple genParamName, HTuple genParamValue, out HTuple covPose, out HTuple score)
HPose HImage.FindPlanarCalibDeformableModel(HDeformableModel modelID, double angleStart, double angleExtent, double scaleRMin, double scaleRMax, double scaleCMin, double scaleCMax, double minScore, int numMatches, double maxOverlap, int numLevels, double greediness, HTuple genParamName, HTuple genParamValue, out HTuple covPose, out HTuple score)
Beschreibung
Der Operator find_planar_calib_deformable_modelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel
findet die besten
NumMatchesNumMatchesNumMatchesNumMatchesnumMatches
Instanzen eines projektiv verzerrten, deformierbaren
Modells ModelIDModelIDModelIDModelIDmodelID
im Suchbild ImageImageImageImageimage
. Das Modell muss vorher
durch Aufruf von create_planar_calib_deformable_modelcreate_planar_calib_deformable_modelCreatePlanarCalibDeformableModelCreatePlanarCalibDeformableModelCreatePlanarCalibDeformableModel
oder
read_deformable_modelread_deformable_modelReadDeformableModelReadDeformableModelReadDeformableModel
erzeugt worden sein. Der Operator
find_planar_calib_deformable_modelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel
liefert die 3D Lage
PosePosePosePosepose
der gefundenen Instanzen im Kamerakoordinatensystem zurück.
Zusätzlich zu der Pose wird die Genauigkeit der sechs Positionsparameter
in CovPoseCovPoseCovPoseCovPosecovPose
zurückgeliefert. Normalerweise enthält CovPoseCovPoseCovPoseCovPosecovPose
die 6 Standardabweichungen der Pose Parameter für jeden Match.
Falls der Parameter 'cov_pose_mode'"cov_pose_mode""cov_pose_mode""cov_pose_mode""cov_pose_mode" auf 'covariances'"covariances""covariances""covariances""covariances"
gesetzt wurde, enthält CovPoseCovPoseCovPoseCovPosecovPose
die 36 Werte der gesamten
6×6 Kovarianzmatrix der 6 Positionsparameter.
Es ist zu beachten das dies nur die innere Genauigkeit darstellt und sie
deshalb von der echten Genauigkeit abweichen kann. Schließlich wird eine
Bewertung für jede Instanz in ScoreScoreScoreScorescore
zurückgegeben. Die Bewertung
ist eine Zahl zwischen 0 und 1, was eine angenäherte Messung ist, und
beschreibt wie viel des Modells im Bild sichtbar ist.
Für eine weitere Erklärung des planaren, deformierbaren Modells und seiner
Parameter sei auf die Beschreibung in
find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel
verwiesen.
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.
Parameter
ImageImageImageImageimage
(input_object) (multichannel-)image →
objectHImageHImageHobject (byte / uint2)
Eingabebild, in dem das Modell gefunden werden soll.
ModelIDModelIDModelIDModelIDmodelID
(input_control) deformable_model →
HDeformableModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Modells.
AngleStartAngleStartAngleStartAngleStartangleStart
(input_control) angle.rad →
HTupleHTupleHtuple (real) (double) (double) (double)
Kleinste auftretende Rotation des Modells.
Defaultwert: -0.39
Wertevorschläge: -3.14, -1.57, -0.78, -0.39, -0.20, 0.0
AngleExtentAngleExtentAngleExtentAngleExtentangleExtent
(input_control) angle.rad →
HTupleHTupleHtuple (real) (double) (double) (double)
Ausdehnung des Winkelbereichs.
Defaultwert: 0.78
Wertevorschläge: 6.29, 3.14, 1.57, 0.78, 0.39, 0.0
Restriktion: AngleExtent >= 0
ScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin
(input_control) number →
HTupleHTupleHtuple (real) (double) (double) (double)
Kleinste auftretende Skalierung des Modells in
Zeilenrichtung.
Defaultwert: 1.0
Wertevorschläge: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriktion: ScaleRMin > 0
ScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax
(input_control) number →
HTupleHTupleHtuple (real) (double) (double) (double)
Größte auftretende Skalierung des Modells in
Zeilenrichtung.
Defaultwert: 1.0
Wertevorschläge: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5
Restriktion: ScaleRMax >= ScaleRMin
ScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin
(input_control) number →
HTupleHTupleHtuple (real) (double) (double) (double)
Kleinste auftretende Skalierung des Modells in
Spaltenrichtung.
Defaultwert: 1.0
Wertevorschläge: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriktion: ScaleCMin > 0
ScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax
(input_control) number →
HTupleHTupleHtuple (real) (double) (double) (double)
Größte auftretende Skalierung des Modells in
Spaltenrichtung.
Defaultwert: 1.0
Wertevorschläge: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5
Restriktion: ScaleCMax >= ScaleCMin
MinScoreMinScoreMinScoreMinScoreminScore
(input_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
Minimale Bewertung der zu findenden Instanzen
des Modells.
Defaultwert: 0.5
Wertevorschläge: 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Typischer Wertebereich: 0
≤
MinScore
MinScore
MinScore
MinScore
minScore
≤
1
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
NumMatchesNumMatchesNumMatchesNumMatchesnumMatches
(input_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Anzahl der zu findenden Instanzen des Modells
(oder 0 für alle Treffer).
Defaultwert: 1
Wertevorschläge: 0, 1, 2, 3, 4, 5, 10, 20
MaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap
(input_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
Maximale Überlappung der zu findenden
Instanzen des Modells.
Defaultwert: 1.0
Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Typischer Wertebereich: 0
≤
MaxOverlap
MaxOverlap
MaxOverlap
MaxOverlap
maxOverlap
≤
1
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
NumLevelsNumLevelsNumLevelsNumLevelsnumLevels
(input_control) integer(-array) →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Anzahl der verwendeten Pyramidenebenen (und
unterste zu verwendende Pyramidenebene falls
|NumLevelsNumLevelsNumLevelsNumLevelsnumLevels
| = 2).
Defaultwert: 0
Werteliste: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
GreedinessGreedinessGreedinessGreedinessgreediness
(input_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
„Gierigkeit“ der Suchheuristik (0: sicher
aber langsam; 1: schnell, aber Matches können
„übersehen“ werden).
Defaultwert: 0.9
Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Typischer Wertebereich: 0
≤
Greediness
Greediness
Greediness
Greediness
greediness
≤
1
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.05
GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
(input_control) string-array →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Namen der allgemeinen Parameter.
Defaultwert: []
Werteliste: [], 'angle_change_restriction'"angle_change_restriction""angle_change_restriction""angle_change_restriction""angle_change_restriction", 'angle_step'"angle_step""angle_step""angle_step""angle_step", 'aniso_scale_change_restriction'"aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction""aniso_scale_change_restriction", 'cov_pose_mode'"cov_pose_mode""cov_pose_mode""cov_pose_mode""cov_pose_mode", 'scale_c_step'"scale_c_step""scale_c_step""scale_c_step""scale_c_step", 'scale_r_step'"scale_r_step""scale_r_step""scale_r_step""scale_r_step", 'subpixel'"subpixel""subpixel""subpixel""subpixel"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
(input_control) integer-array →
HTupleHTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)
Werte der allgemeinen Parameter.
Defaultwert: []
Werteliste: [], 'covariances'"covariances""covariances""covariances""covariances", 'least_squares'"least_squares""least_squares""least_squares""least_squares", 'least_squares_high'"least_squares_high""least_squares_high""least_squares_high""least_squares_high", 'least_squares_very_high'"least_squares_very_high""least_squares_very_high""least_squares_very_high""least_squares_very_high", 'standard_deviations'"standard_deviations""standard_deviations""standard_deviations""standard_deviations"
PosePosePosePosepose
(output_control) pose(-array) →
HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Pose des Objekts.
CovPoseCovPoseCovPoseCovPosecovPose
(output_control) real-array →
HTupleHTupleHtuple (real) (double) (double) (double)
6 Standardabweichungen bzw. 36 Kovarianzen der
Poseparameter.
ScoreScoreScoreScorescore
(output_control) real-array →
HTupleHTupleHtuple (real) (double) (double) (double)
Bewertung der gefundenen Instanzen des Modells.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
find_planar_calib_deformable_modelfind_planar_calib_deformable_modelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModelFindPlanarCalibDeformableModel
den Wert 2 (H_MSG_TRUE). Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
Vorgänger
create_planar_calib_deformable_modelcreate_planar_calib_deformable_modelCreatePlanarCalibDeformableModelCreatePlanarCalibDeformableModelCreatePlanarCalibDeformableModel
,
read_deformable_modelread_deformable_modelReadDeformableModelReadDeformableModelReadDeformableModel
Modul
Matching