get_bar_code_objectT_get_bar_code_objectGetBarCodeObjectGetBarCodeObjectget_bar_code_object (Operator)
Name
get_bar_code_objectT_get_bar_code_objectGetBarCodeObjectGetBarCodeObjectget_bar_code_object — Zugriff auf ikonische Objekte, die bei der Suche und der Dekodierung
von Barcodes angelegt werden bzw. diese beschreiben.
Signatur
Beschreibung
Der Operator get_bar_code_objectget_bar_code_objectGetBarCodeObjectGetBarCodeObjectGetBarCodeObjectget_bar_code_object erlaubt den Zugriff auf
ikonische Objekte, die beim letzten Aufruf von find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCodefind_bar_code
während der Suche nach Barcodes oder beim Lesen der gefundenen Symbole
angelegt wurden. Für den Zugriff muss neben dem Namen des gewünschten
Bildobjekts (ObjectNameObjectNameObjectNameObjectNameobjectNameobject_name) auch das zugrundeliegende Barcode-Modell
(BarCodeHandleBarCodeHandleBarCodeHandleBarCodeHandlebarCodeHandlebar_code_handle) angegeben werden. Außerdem muss in
CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandlecandidate_handle ein Index auf ein dekodiertes Symbol oder einen
Symbolkandidaten, bzw. 'all'"all""all""all""all""all" für alle dekodierten Symbole oder
Symbolkandidaten übergeben werden.
Je nachdem wie der Parameter ObjectNameObjectNameObjectNameObjectNameobjectNameobject_name ausgewählt ist, werden
die Ausgabeobjekten in BarCodeObjectsBarCodeObjectsBarCodeObjectsBarCodeObjectsbarCodeObjectsbar_code_objects zurückgeliefert, wie
folgend:
- 'symbol_regions'"symbol_regions""symbol_regions""symbol_regions""symbol_regions""symbol_regions":
-
Die Regionen von erfolgreich dekodierten Symbolen werden zurückgegeben.
Die Reihenfolge der Objekte entspricht der Reihenfolge der dekodierten
Zeichenfolgen im Operator get_bar_code_resultget_bar_code_resultGetBarCodeResultGetBarCodeResultGetBarCodeResultget_bar_code_result.
- 'candidate_regions'"candidate_regions""candidate_regions""candidate_regions""candidate_regions""candidate_regions":
-
Die potentiellen Barcode-Regionen werden ausgegeben. Gibt es insgesamt
m Kandidaten und n erfolgreiche Ergebnisse, so können mit
CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandlecandidate_handle gleich 0 bis (n-1) die ursprünglichen
Regionen der entsprechenden Ergebnisse und mit CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandlecandidate_handle
gleich n bis (m-1) die Regionen der erfolglosen Kandidaten abgerufen
werden.
- 'scanlines_all'"scanlines_all""scanlines_all""scanlines_all""scanlines_all""scanlines_all", 'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid",
'scanlines_all_plain'"scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain", 'scanlines_valid_plain'"scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain",
'scanlines_merged_edges'"scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges":
-
Es werden XLD Konturen ausgegeben, welche die einzelnen Striche
innerhalb der Scanlinien darstellen. Das Auslesen der Scanlinien
kann nur erfolgen, wenn der Barcode mit find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCodefind_bar_code oder
decode_bar_code_rectangle2decode_bar_code_rectangle2DecodeBarCodeRectangle2DecodeBarCodeRectangle2DecodeBarCodeRectangle2decode_bar_code_rectangle2 im 'persistence'"persistence""persistence""persistence""persistence""persistence"-Modus
gelesen wurde (siehe set_bar_code_paramset_bar_code_paramSetBarCodeParamSetBarCodeParamSetBarCodeParamset_bar_code_param).
'scanlines_all'"scanlines_all""scanlines_all""scanlines_all""scanlines_all""scanlines_all" stellt alle Scanlinien dar, die von
find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCodefind_bar_code möglicherweise angelegt werden, um einen Barcode
zu dekodieren.
'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid" stellt nur diejenigen
Scanlinien dar, die erfolgreich dekodiert werden können. Die
Mindestanzahl an Scanlinien, die erfolgreich gelesen werden können
müssen, kann mit set_bar_code_paramset_bar_code_paramSetBarCodeParamSetBarCodeParamSetBarCodeParamset_bar_code_param mit dem Parameter
'min_identical_scanlines'"min_identical_scanlines""min_identical_scanlines""min_identical_scanlines""min_identical_scanlines""min_identical_scanlines" angepasst werden.
Wenn die Dekodierung des Symbols erfolglos war, liefert
'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid" leere Objekte. Diese Regel ist für
gestapelte Codes (wie z.B. 'GS1 DataBar Stacked'"GS1 DataBar Stacked""GS1 DataBar Stacked""GS1 DataBar Stacked""GS1 DataBar Stacked""GS1 DataBar Stacked" und
'GS1 DataBar Expanded Stacked'"GS1 DataBar Expanded Stacked""GS1 DataBar Expanded Stacked""GS1 DataBar Expanded Stacked""GS1 DataBar Expanded Stacked""GS1 DataBar Expanded Stacked") ähnlich, allerdings bezieht
sie sich auf die einzelnen Zeilen, anstatt auf das ganze Barcodesymbol.
'scanlines_merged_edges'"scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges" zeigt die Scanlinien und Kanten, die für die
Dekodierung der vereinigten Scanlinien verwendet wurden (siehe
'merge_scanlines' in set_bar_code_paramset_bar_code_paramSetBarCodeParamSetBarCodeParamSetBarCodeParamset_bar_code_param).
get_bar_code_objectget_bar_code_objectGetBarCodeObjectGetBarCodeObjectGetBarCodeObjectget_bar_code_object gibt jede Scanlinie als eigene XLD Kontur
zurück. Die XLD Konturen, die von
'scanlines_all'"scanlines_all""scanlines_all""scanlines_all""scanlines_all""scanlines_all", 'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid" und
'scanlines_merged_edges'"scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges" zurückgegeben werden, sind nur zur
Visualisierung gedacht und bestehen deshalb aus vielen XLD Punkten.
Doppelte Linien werden zwischen Kanten benutzt, die als Striche erkannt
wurden, während einfache Linien für weiße Lücken benutzt werden.
Zusätzliche Informationen über jede Scanlinie können mit
get_bar_code_resultget_bar_code_resultGetBarCodeResultGetBarCodeResultGetBarCodeResultget_bar_code_result mit dem Parameter 'status'"status""status""status""status""status"
erhalten werden.
Die '_plain'-Varianten 'scanlines_all_plain'"scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain" und
'scanlines_valid_plain'"scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain" geben die o.g. Scanlinien in
vereinfachter Form zurück. Jede gefundene Kante wird hier als ein Punkt
einer XLD-Kontur zurückgegeben, wobei für jede Scanlinie eine neue
XLD-Kontur begonnen wird. Scanlinien, für die keine Kante gefunden wurde,
werden nicht zurückgegeben.
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
BarCodeObjectsBarCodeObjectsBarCodeObjectsBarCodeObjectsbarCodeObjectsbar_code_objects (output_object) object(-array) → objectHObjectHObjectHObjectHobject *
Ikonische Objekte, die als Zwischenergebnisse bei der
Barcode-Suche oder deren Auswertung anfallen.
BarCodeHandleBarCodeHandleBarCodeHandleBarCodeHandlebarCodeHandlebar_code_handle (input_control) barcode → HBarCode, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des zu verwendenden Barcode-Modells.
CandidateHandleCandidateHandleCandidateHandleCandidateHandlecandidateHandlecandidate_handle (input_control) integer → HTupleUnion[int, str]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Auswahl der Barcode-Ergebnisse oder Kandidaten,
für die eine Information abgefragt werden soll.
Defaultwert:
'all'
"all"
"all"
"all"
"all"
"all"
Wertevorschläge: 0, 1, 2, 'all'"all""all""all""all""all"
ObjectNameObjectNameObjectNameObjectNameobjectNameobject_name (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Name des ikonischen Objekts, das abgefragt
werden soll.
Defaultwert:
'candidate_regions'
"candidate_regions"
"candidate_regions"
"candidate_regions"
"candidate_regions"
"candidate_regions"
Werteliste: 'candidate_regions'"candidate_regions""candidate_regions""candidate_regions""candidate_regions""candidate_regions", 'scanlines_all'"scanlines_all""scanlines_all""scanlines_all""scanlines_all""scanlines_all", 'scanlines_all_plain'"scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain""scanlines_all_plain", 'scanlines_merged_edges'"scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges""scanlines_merged_edges", 'scanlines_valid'"scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid""scanlines_valid", 'scanlines_valid_plain'"scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain""scanlines_valid_plain", 'symbol_regions'"symbol_regions""symbol_regions""symbol_regions""symbol_regions""symbol_regions"
Ergebnis
get_bar_code_objectget_bar_code_objectGetBarCodeObjectGetBarCodeObjectGetBarCodeObjectget_bar_code_object liefert den Wert 2 (H_MSG_TRUE), falls die
übergebenen Parameter korrekt und die angeforderten Objekte für
die letzte Symbolsuche verfügbar sind.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
Vorgänger
find_bar_codefind_bar_codeFindBarCodeFindBarCodeFindBarCodefind_bar_code
Siehe auch
get_bar_code_resultget_bar_code_resultGetBarCodeResultGetBarCodeResultGetBarCodeResultget_bar_code_result
Modul
Bar Code