| Operatoren |
decode_1d_bar_code — Decodieren einer Sequenz an Barcode-Elementen.
decode_1d_bar_code ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Applikationen zum Lesen von Barcode-Symbologien sollten stattdessen die Funktionalitäten im Kapitel Identifizierung / Barcode verwenden (siehe find_bar_code).
decode_1d_bar_code( : : BarCodeElements, BarCodeDescr : Characters, Reference, IsCorrect)
decode_1d_bar_code decodiert eine Sequenz von Strichen und Lücken (Elemente) die mit find_1d_bar_code oder get_1d_bar_code gefunden wurden. Als Eingabe dient die Dicke aller Elemente (in Pixeln) in nicht diskretisierter Form. Es kann jedoch auch die diskrete Form der Elemente verwendet werden wie sie von discrete_1d_bar_code erzeugt wird.
Das Ergebnis ist die Sequenz der Zeichen Characters und der Referenznummern Reference. Zusätzlich wird der Parity-Test für die gefundenen Zeichen durchgeführt und das Ergebnis in IsCorrect übergeben. Für den Fall das alle Zeichen als Nutzzeichen verwendet werden, ist der Wert von IsCorrect zu ignorieren.
Bei Barcodes vom Typ Pharmacode kann die Leserichtung nicht aus den Barcodedaten bestimmt werden, da der Barcode keine Extrazeichen (wie Start- oder Stop- oder Prüfzeichen) spezifiziert, die eine Bestimmung der Leserichtung ermöglichen, so dass der Barcode immer in beiden Richtungen gelesen werden kann. Für PharmaCodes werden deshalb die Ergebnisse der Dekodierung in beide Leserichtungen als zwei Werte sowohl in Characters als auch in Reference zurückgeliefert. Die Entscheidung, welches Element die richtige Leserichtung beinhaltet muss vom Aufrufer anhand der Orientierung des Barcodes (wie sie im Parameter Orientation bei find_1d_bar_code und find_1d_bar_code_region zurückgeliefert wird) entschieden werden. Dabei entspricht das jeweils erste Element von Characters und Reference der Standardleserichtung in der Orientierung, die durch Orientation kodiert wird, und das jeweils zweite Element der entgegengesetzten Leserichtung. Falls z.B. die Orientierung 0 ist, entspricht der erste Wert der Leserichtung von rechts nach links. Falls die Orientierung ist, entspricht der erste Wert der Leserichtung von oben nach unten.
Breite der Elemente des Barcodes.
Beschreibung eines Barcode-Typs
Decodierte Zeichen in Standard-Interpretation.
Decodierte Zeichen als Zahlenwerte.
Information, ob es sich um einen korrekten Barcode handelt.
Werteliste: 0, 1
HTuple empty; // empty list of values
HTuple BarCodeDescr;
HTuple BarcodeFound,Elements,Orientation;
HTuple Characters,Reference,IsCorrect;
Hobject Image,CodeRegion;
gen_1d_bar_code_descr("EAN 13",13,13,&BarCodeDescr);
find_1d_bar_code(Image,&CodeRegion,BarCodeDescr,empty,empty,
&BarcodeFound,&Elements,&Orientation);
if (BarcodeFound[0].l)
{
decode_1d_bar_code(Elements,BarCodeDescr,
&Characters,&Reference,&IsCorrect);
if (IsCorrect[0].l)
for (int i=0; i<Characters.Num(); i++)
{
char *value = Characters[i];
}
}
decode_1d_bar_code liefert den Wert 2 (H_MSG_TRUE), sofern die übergebene Barcodebeschreibung korrekt ist und eine interpretierbare Elementliste übergeben wird.
Bar Code
| Operatoren |