get_found_component_modelT_get_found_component_modelGetFoundComponentModelGetFoundComponentModelget_found_component_model (Operator)
Name
get_found_component_modelT_get_found_component_modelGetFoundComponentModelGetFoundComponentModelget_found_component_model — Liefert die Komponenten einer gefundenen Instanz eines Komponentenmodells
zurück.
Warnung
get_found_component_modelget_found_component_modelGetFoundComponentModelGetFoundComponentModelget_found_component_model ist veraltet und wird nur aus Gründen der
Rückwärtskompatibilität zur Verfügung gestellt.
Der Operator wird mit HALCON 26.11 entfernt.
Signatur
get_found_component_model( : FoundComponents : ComponentModelID, ModelStart, ModelEnd, RowComp, ColumnComp, AngleComp, ScoreComp, ModelComp, ModelMatch, MarkOrientation : RowCompInst, ColumnCompInst, AngleCompInst, ScoreCompInst)
Herror T_get_found_component_model(Hobject* FoundComponents, const Htuple ComponentModelID, const Htuple ModelStart, const Htuple ModelEnd, const Htuple RowComp, const Htuple ColumnComp, const Htuple AngleComp, const Htuple ScoreComp, const Htuple ModelComp, const Htuple ModelMatch, const Htuple MarkOrientation, Htuple* RowCompInst, Htuple* ColumnCompInst, Htuple* AngleCompInst, Htuple* ScoreCompInst)
void GetFoundComponentModel(HObject* FoundComponents, const HTuple& ComponentModelID, const HTuple& ModelStart, const HTuple& ModelEnd, const HTuple& RowComp, const HTuple& ColumnComp, const HTuple& AngleComp, const HTuple& ScoreComp, const HTuple& ModelComp, const HTuple& ModelMatch, const HTuple& MarkOrientation, HTuple* RowCompInst, HTuple* ColumnCompInst, HTuple* AngleCompInst, HTuple* ScoreCompInst)
HRegion HComponentModel::GetFoundComponentModel(const HTuple& ModelStart, const HTuple& ModelEnd, const HTuple& RowComp, const HTuple& ColumnComp, const HTuple& AngleComp, const HTuple& ScoreComp, const HTuple& ModelComp, Hlong ModelMatch, const HString& MarkOrientation, HTuple* RowCompInst, HTuple* ColumnCompInst, HTuple* AngleCompInst, HTuple* ScoreCompInst) const
HRegion HComponentModel::GetFoundComponentModel(Hlong ModelStart, Hlong ModelEnd, double RowComp, double ColumnComp, double AngleComp, double ScoreComp, Hlong ModelComp, Hlong ModelMatch, const HString& MarkOrientation, double* RowCompInst, double* ColumnCompInst, double* AngleCompInst, double* ScoreCompInst) const
HRegion HComponentModel::GetFoundComponentModel(Hlong ModelStart, Hlong ModelEnd, double RowComp, double ColumnComp, double AngleComp, double ScoreComp, Hlong ModelComp, Hlong ModelMatch, const char* MarkOrientation, double* RowCompInst, double* ColumnCompInst, double* AngleCompInst, double* ScoreCompInst) const
HRegion HComponentModel::GetFoundComponentModel(Hlong ModelStart, Hlong ModelEnd, double RowComp, double ColumnComp, double AngleComp, double ScoreComp, Hlong ModelComp, Hlong ModelMatch, const wchar_t* MarkOrientation, double* RowCompInst, double* ColumnCompInst, double* AngleCompInst, double* ScoreCompInst) const
(
Nur Windows)
static HRegion HImage::GetFoundComponentModel(const HComponentModel& ComponentModelID, const HTuple& ModelStart, const HTuple& ModelEnd, const HTuple& RowComp, const HTuple& ColumnComp, const HTuple& AngleComp, const HTuple& ScoreComp, const HTuple& ModelComp, Hlong ModelMatch, const HString& MarkOrientation, HTuple* RowCompInst, HTuple* ColumnCompInst, HTuple* AngleCompInst, HTuple* ScoreCompInst)
static HRegion HImage::GetFoundComponentModel(const HComponentModel& ComponentModelID, Hlong ModelStart, Hlong ModelEnd, double RowComp, double ColumnComp, double AngleComp, double ScoreComp, Hlong ModelComp, Hlong ModelMatch, const HString& MarkOrientation, double* RowCompInst, double* ColumnCompInst, double* AngleCompInst, double* ScoreCompInst)
static HRegion HImage::GetFoundComponentModel(const HComponentModel& ComponentModelID, Hlong ModelStart, Hlong ModelEnd, double RowComp, double ColumnComp, double AngleComp, double ScoreComp, Hlong ModelComp, Hlong ModelMatch, const char* MarkOrientation, double* RowCompInst, double* ColumnCompInst, double* AngleCompInst, double* ScoreCompInst)
static HRegion HImage::GetFoundComponentModel(const HComponentModel& ComponentModelID, Hlong ModelStart, Hlong ModelEnd, double RowComp, double ColumnComp, double AngleComp, double ScoreComp, Hlong ModelComp, Hlong ModelMatch, const wchar_t* MarkOrientation, double* RowCompInst, double* ColumnCompInst, double* AngleCompInst, double* ScoreCompInst)
(
Nur Windows)
static void HOperatorSet.GetFoundComponentModel(out HObject foundComponents, HTuple componentModelID, HTuple modelStart, HTuple modelEnd, HTuple rowComp, HTuple columnComp, HTuple angleComp, HTuple scoreComp, HTuple modelComp, HTuple modelMatch, HTuple markOrientation, out HTuple rowCompInst, out HTuple columnCompInst, out HTuple angleCompInst, out HTuple scoreCompInst)
HRegion HComponentModel.GetFoundComponentModel(HTuple modelStart, HTuple modelEnd, HTuple rowComp, HTuple columnComp, HTuple angleComp, HTuple scoreComp, HTuple modelComp, int modelMatch, string markOrientation, out HTuple rowCompInst, out HTuple columnCompInst, out HTuple angleCompInst, out HTuple scoreCompInst)
HRegion HComponentModel.GetFoundComponentModel(int modelStart, int modelEnd, double rowComp, double columnComp, double angleComp, double scoreComp, int modelComp, int modelMatch, string markOrientation, out double rowCompInst, out double columnCompInst, out double angleCompInst, out double scoreCompInst)
static HRegion HImage.GetFoundComponentModel(HComponentModel componentModelID, HTuple modelStart, HTuple modelEnd, HTuple rowComp, HTuple columnComp, HTuple angleComp, HTuple scoreComp, HTuple modelComp, int modelMatch, string markOrientation, out HTuple rowCompInst, out HTuple columnCompInst, out HTuple angleCompInst, out HTuple scoreCompInst)
static HRegion HImage.GetFoundComponentModel(HComponentModel componentModelID, int modelStart, int modelEnd, double rowComp, double columnComp, double angleComp, double scoreComp, int modelComp, int modelMatch, string markOrientation, out double rowCompInst, out double columnCompInst, out double angleCompInst, out double scoreCompInst)
def get_found_component_model(component_model_id: HHandle, model_start: MaybeSequence[int], model_end: MaybeSequence[int], row_comp: MaybeSequence[float], column_comp: MaybeSequence[float], angle_comp: MaybeSequence[float], score_comp: MaybeSequence[float], model_comp: MaybeSequence[int], model_match: int, mark_orientation: str) -> Tuple[HObject, Sequence[float], Sequence[float], Sequence[float], Sequence[float]]
def get_found_component_model_s(component_model_id: HHandle, model_start: MaybeSequence[int], model_end: MaybeSequence[int], row_comp: MaybeSequence[float], column_comp: MaybeSequence[float], angle_comp: MaybeSequence[float], score_comp: MaybeSequence[float], model_comp: MaybeSequence[int], model_match: int, mark_orientation: str) -> Tuple[HObject, float, float, float, float]
Beschreibung
get_found_component_modelget_found_component_modelGetFoundComponentModelGetFoundComponentModelget_found_component_model liefert die Komponenten einer
gefundenen Instanz des Komponentenmodells ComponentModelIDComponentModelIDComponentModelIDcomponentModelIDcomponent_model_id
sowohl in Form von Konturregionen in FoundComponentsFoundComponentsFoundComponentsfoundComponentsfound_components als
auch in numerischer Form zurück.
Der Operator get_found_component_modelget_found_component_modelGetFoundComponentModelGetFoundComponentModelget_found_component_model kann dazu genutzt
werden, das Ergebnis der mit find_component_modelfind_component_modelFindComponentModelFindComponentModelfind_component_model erhaltenen
Matches zu visualisieren.
Die Lage der zurückgelieferten Komponenten entspricht deren Lage im
Suchbild, wie sie mit find_component_modelfind_component_modelFindComponentModelFindComponentModelfind_component_model erhalten
wurde. Daher müssen die Parameter ModelStartModelStartModelStartmodelStartmodel_start,
ModelEndModelEndModelEndmodelEndmodel_end, RowCompRowCompRowComprowComprow_comp, ColumnCompColumnCompColumnCompcolumnCompcolumn_comp,
AngleCompAngleCompAngleCompangleCompangle_comp, ScoreCompScoreCompScoreCompscoreCompscore_comp und ModelCompModelCompModelCompmodelCompmodel_comp an
get_found_component_modelget_found_component_modelGetFoundComponentModelGetFoundComponentModelget_found_component_model so übergeben werden wie sie von
find_component_modelfind_component_modelFindComponentModelFindComponentModelfind_component_model zurückgeliefert worden sind. In
ModelMatchModelMatchModelMatchmodelMatchmodel_match muss der Index der gefunden Instanz des
Komponentenmodells übergeben werden. ModelMatchModelMatchModelMatchmodelMatchmodel_match muss somit
zwischen 0 und m-1 liegen, wobei m gleich der Anzahl
an Elemente in den Parametern ModelStartModelStartModelStartmodelStartmodel_start und
ModelEndModelEndModelEndmodelEndmodel_end ist und somit der Anzahl der gefundenen Instanzen
entspricht. Soll zum Beispiel der beste aller gefundenen Matches
zurückgeliefert werden, so muss ModelMatchModelMatchModelMatchmodelMatchmodel_match auf 0
gesetzt werden.
Bei rotationssymmetrischen Komponenten kann es darüber hinaus
hilfreich sein, deren Orientierung zu markieren. Dies kann erreicht
werden, indem MarkOrientationMarkOrientationMarkOrientationmarkOrientationmark_orientation auf 'true'"true""true""true""true" gesetzt
wird. In diesem Fall wird die Konturregion der jeweiligen Komponente
an ihrem Referenzpunkt durch einen Pfeil ergänzt, der in die
Referenzrichtung zeigt. Die Referenzrichtung einer Komponente
ergibt sich aus deren Orientierung im Modellbild (siehe
train_model_componentstrain_model_componentsTrainModelComponentsTrainModelComponentstrain_model_components oder create_component_modelcreate_component_modelCreateComponentModelCreateComponentModelcreate_component_model)
und wird beschrieben durch einen vom Referenzpunkt horizontal nach
rechts zeigenden Pfeil.
Zur Vereinfachung werden sowohl die Lageparameter jeder Komponente
als auch deren Bewertung (Score) der gefunden Instanz zusätzlich in
numerischer Form in RowCompInstRowCompInstRowCompInstrowCompInstrow_comp_inst, ColumnCompInstColumnCompInstColumnCompInstcolumnCompInstcolumn_comp_inst,
AngleCompInstAngleCompInstAngleCompInstangleCompInstangle_comp_inst und ScoreCompInstScoreCompInstScoreCompInstscoreCompInstscore_comp_inst
zurückgegeben. Diese vier Tupel haben immer die Länge n,
wobei n die Anzahl der Komponenten im Komponentenmodell
ComponentModelIDComponentModelIDComponentModelIDcomponentModelIDcomponent_model_id beschreibt. Konnte während der Suche eine
Komponente nicht gefunden werden, so wird im entsprechenden Element
in FoundComponentsFoundComponentsFoundComponentsfoundComponentsfound_components eine leere Region zurückgeliefert und
der Wert des entsprechenden Elements in RowCompInstRowCompInstRowCompInstrowCompInstrow_comp_inst,
ColumnCompInstColumnCompInstColumnCompInstcolumnCompInstcolumn_comp_inst, AngleCompInstAngleCompInstAngleCompInstangleCompInstangle_comp_inst und
ScoreCompInstScoreCompInstScoreCompInstscoreCompInstscore_comp_inst auf 0 gesetzt.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
FoundComponentsFoundComponentsFoundComponentsfoundComponentsfound_components (output_object) region-array → objectHRegionHObjectHObjectHobject *
Gefundene Komponenten der ausgewählten
Komponentenmodell-Instanz.
ComponentModelIDComponentModelIDComponentModelIDcomponentModelIDcomponent_model_id (input_control) component_model → HComponentModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Komponentenmodells.
ModelStartModelStartModelStartmodelStartmodel_start (input_control) integer(-array) → HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Startindex jeder gefundenen Instanz des
Komponentenmodells auf die Tupel, die die
Komponentenmatches beschreiben.
ModelEndModelEndModelEndmodelEndmodel_end (input_control) integer(-array) → HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Endindex jeder gefundenen Instanz des
Komponentenmodells auf die Tupel, die die
Komponentenmatches beschreiben.
RowCompRowCompRowComprowComprow_comp (input_control) point.y(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate der gefundenen Komponentenmatches.
ColumnCompColumnCompColumnCompcolumnCompcolumn_comp (input_control) point.x(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinate der gefundenen Komponentenmatches.
AngleCompAngleCompAngleCompangleCompangle_comp (input_control) angle.rad(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Rotationswinkel der gefundenen Komponentenmatches.
ScoreCompScoreCompScoreCompscoreCompscore_comp (input_control) real(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Bewertung der gefundenen Komponentenmatches.
ModelCompModelCompModelCompmodelCompmodel_comp (input_control) integer(-array) → HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index der gefundenen Komponenten.
ModelMatchModelMatchModelMatchmodelMatchmodel_match (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index der gefundenen Instanz des Komponentenmodells,
die zurückgeliefert werden soll.
MarkOrientationMarkOrientationMarkOrientationmarkOrientationmark_orientation (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Markieren der Komponentenorientierung.
Default:
'false'
"false"
"false"
"false"
"false"
Werteliste:
'false'"false""false""false""false", 'true'"true""true""true""true"
RowCompInstRowCompInstRowCompInstrowCompInstrow_comp_inst (output_control) point.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate aller Komponenten der gewählten
Modellinstanz.
ColumnCompInstColumnCompInstColumnCompInstcolumnCompInstcolumn_comp_inst (output_control) point.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinate aller Komponenten der gewählten
Modellinstanz.
AngleCompInstAngleCompInstAngleCompInstangleCompInstangle_comp_inst (output_control) angle.rad(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Rotationswinkel aller Komponenten der gewählten
Modellinstanz.
ScoreCompInstScoreCompInstScoreCompInstscoreCompInstscore_comp_inst (output_control) real(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Bewertung aller Komponenten der gewählten
Modellinstanz.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
get_found_component_modelget_found_component_modelGetFoundComponentModelGetFoundComponentModelget_found_component_model den Wert 2 (
H_MSG_TRUE)
.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Modul
Matching