Name
decode_bar_code_rectangle2 decode_bar_code_rectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 — Lesen von Barcode-Symbolen innerhalb eines Rechtecks.
Herror decode_bar_code_rectangle2 (const Hobject Image , const Hlong BarCodeHandle , const char* CodeType , double Row , double Column , double Phi , double Length1 , double Length2 , char* DecodedDataStrings )
Herror T_decode_bar_code_rectangle2 (const Hobject Image , const Htuple BarCodeHandle , const Htuple CodeType , const Htuple Row , const Htuple Column , const Htuple Phi , const Htuple Length1 , const Htuple Length2 , Htuple* DecodedDataStrings )
void DecodeBarCodeRectangle2 (const HObject& Image , const HTuple& BarCodeHandle , const HTuple& CodeType , const HTuple& Row , const HTuple& Column , const HTuple& Phi , const HTuple& Length1 , const HTuple& Length2 , HTuple* DecodedDataStrings )
HTuple HBarCode ::DecodeBarCodeRectangle2 (const HImage& Image , const HTuple& CodeType , const HTuple& Row , const HTuple& Column , const HTuple& Phi , const HTuple& Length1 , const HTuple& Length2 ) const
HString HBarCode ::DecodeBarCodeRectangle2 (const HImage& Image , const HString& CodeType , double Row , double Column , double Phi , double Length1 , double Length2 ) const
HString HBarCode ::DecodeBarCodeRectangle2 (const HImage& Image , const char* CodeType , double Row , double Column , double Phi , double Length1 , double Length2 ) const
HTuple HImage ::DecodeBarCodeRectangle2 (const HBarCode& BarCodeHandle , const HTuple& CodeType , const HTuple& Row , const HTuple& Column , const HTuple& Phi , const HTuple& Length1 , const HTuple& Length2 ) const
HString HImage ::DecodeBarCodeRectangle2 (const HBarCode& BarCodeHandle , const HString& CodeType , double Row , double Column , double Phi , double Length1 , double Length2 ) const
HString HImage ::DecodeBarCodeRectangle2 (const HBarCode& BarCodeHandle , const char* CodeType , double Row , double Column , double Phi , double Length1 , double Length2 ) const
static void HOperatorSet .DecodeBarCodeRectangle2 (HObject image , HTuple barCodeHandle , HTuple codeType , HTuple row , HTuple column , HTuple phi , HTuple length1 , HTuple length2 , out HTuple decodedDataStrings )
HTuple HBarCode .DecodeBarCodeRectangle2 (HImage image , HTuple codeType , HTuple row , HTuple column , HTuple phi , HTuple length1 , HTuple length2 )
string HBarCode .DecodeBarCodeRectangle2 (HImage image , string codeType , double row , double column , double phi , double length1 , double length2 )
HTuple HImage .DecodeBarCodeRectangle2 (HBarCode barCodeHandle , HTuple codeType , HTuple row , HTuple column , HTuple phi , HTuple length1 , HTuple length2 )
string HImage .DecodeBarCodeRectangle2 (HBarCode barCodeHandle , string codeType , double row , double column , double phi , double length1 , double length2 )
Der Operator decode_bar_code_rectangle2 decode_bar_code_rectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 benutzt das durch
BarCodeHandle BarCodeHandle BarCodeHandle BarCodeHandle barCodeHandle angegebene Barcode-Modell um einen Barcode an
einer vorgegebenen Position innerhalb des Bildes Image Image Image Image image zu
dekodieren. BarCodeHandle BarCodeHandle BarCodeHandle BarCodeHandle barCodeHandle muss mit create_bar_code_model create_bar_code_model CreateBarCodeModel CreateBarCodeModel CreateBarCodeModel
erstellt worden sein. Dessen Parameter können mit
set_bar_code_param set_bar_code_param SetBarCodeParam SetBarCodeParam SetBarCodeParam gesetzt werden. Die Position des Barcodes
wird als beliebig orientiertes Rechteck übergeben. Im Gegensatz zu
find_bar_code find_bar_code FindBarCode FindBarCode FindBarCode , wo der Dekodierung eine zeitaufwändige Suche
nach Kandidatenregionen vorangeht, durchsucht
decode_bar_code_rectangle2 decode_bar_code_rectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 die übergebene Region direkt nach
Barcodes. Die rechteckige Region wird definiert mit den Parametern
Row Row Row Row row und Column Column Column Column column für den Schwerpunkt, Phi Phi Phi Phi phi
für die Orientierung und Length1 Length1 Length1 Length1 length1 und Length2 Length2 Length2 Length2 length2 für
die halbe Länge der Rechteckseiten (vergleiche gen_rectangle2 gen_rectangle2 GenRectangle2 GenRectangle2 GenRectangle2 ).
Der Winkel Phi Phi Phi Phi phi legt auch die Leserichtung des Barcodes fest.
Die Orientierung eines Barcodes ist der Winkel zwischen der Leserichtung
des Barcodes und der horizontalen Bildachse. Der Winkel ist positiv bei
Drehung nach links und wird wie bei gen_rectangle2 gen_rectangle2 GenRectangle2 GenRectangle2 GenRectangle2 in Bogenmaß
angegeben. Dies ist entgegengesetzt zu den Operatoren
get_bar_code_result get_bar_code_result GetBarCodeResult GetBarCodeResult GetBarCodeResult und set_bar_code_param set_bar_code_param SetBarCodeParam SetBarCodeParam SetBarCodeParam bei denen
Winkelangaben in Grad angegeben werden. Phi Phi Phi Phi phi kann im Wertebereich
von [
]
liegen. Die Leserichtung ist senkrecht zu den Kanten der einzelnen
Barcodestriche. Es werden auch Barcodes mit einer Leserichtung von
zurückgegeben. Mehrere
Regionen zur Dekodierung können als Tupel in Row Row Row Row row ,
Column Column Column Column column , Phi Phi Phi Phi phi , Length1 Length1 Length1 Length1 length1 und Length2 Length2 Length2 Length2 length2
übergeben werden.
Das Rechteck sollte den Barcode und die Ruhezonen vollständig
überdecken. Zu groß gewählte Regionen werden dekodiert, falls in
dieser Region keine störenden Muster auftauchen und die Höhe
(Length2 Length2 Length2 Length2 length2 ) klein genug ist, dass die Scanlinien genügend
dicht gelegt werden können. Rechtecke, die in Leserichtung
(Length1 Length1 Length1 Length1 length1 ) zu kurz gewählt sind, können nicht dekodiert werden.
decode_bar_code_rectangle2 decode_bar_code_rectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 kann dann verwendet werden, wenn
die Position des Barcodes bereits im Voraus bekannt ist. Beispielsweise
könnten durch find_bar_code find_bar_code FindBarCode FindBarCode FindBarCode und get_bar_code_object get_bar_code_object GetBarCodeObject GetBarCodeObject GetBarCodeObject
bereits Kandidatenregionen für Barcodes vorliegen (siehe folgendes
Beispiel).
Für den Parameter CodeType CodeType CodeType CodeType codeType können mehrere Barcode-Typen angegeben
werden, vergleiche Abschnitt Autodiskriminierung für find_bar_code find_bar_code FindBarCode FindBarCode FindBarCode .
Die weiteren Aspekte der tatsächlichen Dekodierung werden bei dem
Operator find_bar_code find_bar_code FindBarCode FindBarCode FindBarCode beschrieben.
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Automatisch parallelisiert auf interner Datenebene.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.
Handle des zu verwendenden Barcode-Modells.
Typ des zu findenden Barcodes.
Defaultwert:
'EAN-13'
"EAN-13"
"EAN-13"
"EAN-13"
"EAN-13"
Werteliste: '2/5 Industrial' "2/5 Industrial" "2/5 Industrial" "2/5 Industrial" "2/5 Industrial" , '2/5 Interleaved' "2/5 Interleaved" "2/5 Interleaved" "2/5 Interleaved" "2/5 Interleaved" , 'Codabar' "Codabar" "Codabar" "Codabar" "Codabar" , 'Code 128' "Code 128" "Code 128" "Code 128" "Code 128" , 'Code 39' "Code 39" "Code 39" "Code 39" "Code 39" , 'Code 93' "Code 93" "Code 93" "Code 93" "Code 93" , 'EAN-13 Add-On 2' "EAN-13 Add-On 2" "EAN-13 Add-On 2" "EAN-13 Add-On 2" "EAN-13 Add-On 2" , 'EAN-13 Add-On 5' "EAN-13 Add-On 5" "EAN-13 Add-On 5" "EAN-13 Add-On 5" "EAN-13 Add-On 5" , 'EAN-13' "EAN-13" "EAN-13" "EAN-13" "EAN-13" , 'EAN-8 Add-On 2' "EAN-8 Add-On 2" "EAN-8 Add-On 2" "EAN-8 Add-On 2" "EAN-8 Add-On 2" , 'EAN-8 Add-On 5' "EAN-8 Add-On 5" "EAN-8 Add-On 5" "EAN-8 Add-On 5" "EAN-8 Add-On 5" , 'EAN-8' "EAN-8" "EAN-8" "EAN-8" "EAN-8" , 'GS1 DataBar Expanded Stacked' "GS1 DataBar Expanded Stacked" "GS1 DataBar Expanded Stacked" "GS1 DataBar Expanded Stacked" "GS1 DataBar Expanded Stacked" , 'GS1 DataBar Expanded' "GS1 DataBar Expanded" "GS1 DataBar Expanded" "GS1 DataBar Expanded" "GS1 DataBar Expanded" , 'GS1 DataBar Limited' "GS1 DataBar Limited" "GS1 DataBar Limited" "GS1 DataBar Limited" "GS1 DataBar Limited" , 'GS1 DataBar Omnidir' "GS1 DataBar Omnidir" "GS1 DataBar Omnidir" "GS1 DataBar Omnidir" "GS1 DataBar Omnidir" , 'GS1 DataBar Stacked Omnidir' "GS1 DataBar Stacked Omnidir" "GS1 DataBar Stacked Omnidir" "GS1 DataBar Stacked Omnidir" "GS1 DataBar Stacked Omnidir" , 'GS1 DataBar Stacked' "GS1 DataBar Stacked" "GS1 DataBar Stacked" "GS1 DataBar Stacked" "GS1 DataBar Stacked" , 'GS1 DataBar Truncated' "GS1 DataBar Truncated" "GS1 DataBar Truncated" "GS1 DataBar Truncated" "GS1 DataBar Truncated" , 'GS1-128' "GS1-128" "GS1-128" "GS1-128" "GS1-128" , 'MSI' "MSI" "MSI" "MSI" "MSI" , 'PharmaCode' "PharmaCode" "PharmaCode" "PharmaCode" "PharmaCode" , 'UPC-A Add-On 2' "UPC-A Add-On 2" "UPC-A Add-On 2" "UPC-A Add-On 2" "UPC-A Add-On 2" , 'UPC-A Add-On 5' "UPC-A Add-On 5" "UPC-A Add-On 5" "UPC-A Add-On 5" "UPC-A Add-On 5" , 'UPC-A' "UPC-A" "UPC-A" "UPC-A" "UPC-A" , 'UPC-E Add-On 2' "UPC-E Add-On 2" "UPC-E Add-On 2" "UPC-E Add-On 2" "UPC-E Add-On 2" , 'UPC-E Add-On 5' "UPC-E Add-On 5" "UPC-E Add-On 5" "UPC-E Add-On 5" "UPC-E Add-On 5" , 'UPC-E' "UPC-E" "UPC-E" "UPC-E" "UPC-E" , 'auto' "auto" "auto" "auto" "auto"
Row Row Row Row row (input_control) rectangle2.center.y(-array) → HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenindex des Schwerpunktes.
Defaultwert: 50.0
Spaltenindex des Schwerpunktes.
Defaultwert: 100.0
Phi Phi Phi Phi phi (input_control) rectangle2.angle.rad(-array) → HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Orientierung des Rechtecks in Bogenmaß.
Defaultwert: 0.0
Wertevorschläge: 0.0, 0.785398, 1.570796, 3.1415926
Hälfte der Seitenlänge des Rechtecks entlang der
Leserichtung des Barcodes
Defaultwert: 200.0
Hälfte der Seitenlänge des Rechtecks senkrecht zur
Leserichtung des Barcodes.
Defaultwert: 100.0
Die Datenstrings der erfolgreich dekodierten Barcodes.
read_image (Image, 'barcode/ean13/ean1301.png')
create_bar_code_model ([], [], BHandle)
find_bar_code (Image, SymReg, BHandle, '2/5 Industrial', Dec)
if (|Dec| == 0)
* A 2/5 Industrial code wasn't found. Try decoding an EAN-13 code.
get_bar_code_object (CandReg, BHandle, 'all', 'candidate_regions')
smallest_rectangle2 (CandReg, R, C, Phi, L1, L2)
decode_bar_code_rectangle2 (Image, BHandle, 'EAN-13', R, C, Phi, \
L1, L2, Dec)
endif
clear_bar_code_model (BHandle)
decode_bar_code_rectangle2 decode_bar_code_rectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 DecodeBarCodeRectangle2 liefert den Wert 2 (H_MSG_TRUE), falls die
übergebenen Parameter korrekt sind.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
create_bar_code_model create_bar_code_model CreateBarCodeModel CreateBarCodeModel CreateBarCodeModel ,
set_bar_code_param set_bar_code_param SetBarCodeParam SetBarCodeParam SetBarCodeParam ,
smallest_rectangle2 smallest_rectangle2 SmallestRectangle2 SmallestRectangle2 SmallestRectangle2
get_bar_code_result get_bar_code_result GetBarCodeResult GetBarCodeResult GetBarCodeResult ,
get_bar_code_object get_bar_code_object GetBarCodeObject GetBarCodeObject GetBarCodeObject ,
clear_bar_code_model clear_bar_code_model ClearBarCodeModel ClearBarCodeModel ClearBarCodeModel
find_bar_code find_bar_code FindBarCode FindBarCode FindBarCode
gen_rectangle2 gen_rectangle2 GenRectangle2 GenRectangle2 GenRectangle2
Bar Code