| Operatoren |
find_2d_bar_code — Suche nach Regionen, die einen 2D-Barcode enthalten könnten.
find_2d_bar_code ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Applikationen sollten stattdessen die Funktionalität im Kapitel Identifizierung / Datacode verwenden zum Lesen von 2D-Datacode-Symbologien verwenden (siehe create_data_code_2d_model).
find_2d_bar_code(Image : CodeRegion : BarCodeDescr, GenParamNames, GenParamValues : CodeRegDescr)
find_2d_bar_code sucht im Bild Image nach Regionen, die einen 2D-Barcode enthalten könnten. Vielversprechende Regionenkandidaten werden als Tupel von Regionen in CodeRegion zurückgeliefert. Ob eine solche Region tatsächlich einen lesbaren Barcode enthält, wird erst beim nachfolgenden Auslesen des Barcodes mit Hilfe des Operators get_2d_bar_code (bzw. get_2d_bar_code_pos) festgestellt.
Neben den Regionen, die mit hoher Wahrscheinlichkeit einen Barcode enthalten, reicht der Operator find_2d_bar_code an den nachfolgenden Operator für die Datenextraktion (get_2d_bar_code bzw. get_2d_bar_code_pos) bestimmte interne Informationen über die Regionen weiter. Diese Informationen werden in einen Regionen-Descriptor geschrieben und im Parameter CodeRegDescr für die weitere Verarbeitung zurückgeliefert.
Für die Suche der Barcode-Region können in Abhängigkeit von der Druckmethode, mit der der Barcode erzeugt wurde ('mode'), unterschiedliche Verfahren zum Einsatz kommen. Diese Druckmethode ist zusammen mit anderen Informationen über den Barcode Bestandteil des Descriptors, der mit Hilfe des Operators gen_2d_bar_code_descr erzeugt und im Parameter BarCodeDescr übergeben wird.
Bei schwierigen Bedingungen können mit Hilfe der (optionalen) generischen Parameter GenParamNames und GenParamValues zusätzliche Parameter zur Steuerung der Suchmethode in Form von Bezeichner-Wert-Paaren übergeben.
Die Einflussnahme kann auf zwei Ebenen erfolgen: Eine Klasse von Parametern beschreibt die zu suchenden Barcode-Symbole und kann somit direkt aus dem zur Verfügung stehenden Bildmaterial abgeleitet werden. Führt ein Anpassen dieser Parameter nicht zum Erfolg, kann ein Teil der intern verwendeten Bildverarbeitungsoperatoren auch direkt beeinflusst werden. Da in Abhängigkeit von der Druckmethode unterschiedliche Bildverarbeitungsverfahren zum Einsatz kommen, stehen auch unterschiedliche Parameter zur Verfügung.
Allgemeine Parameter zur Beschreibung des Symbols:
Mittlere Größe eines Moduls (einzelnes Datenelement) in Pixeln.
Aus dieser Größe werden eine Reihe weiterer Parameter abgeleitet. Ein Modul sollte in der Größenordnung von 4 bis 16 Pixeln liegen, um erfolgreich erkannt zu werden.
| GenParamValues: | > 0 |
| default: | 10 |
Bildverarbeitungsparameter für die Druckmethode 'printed':
Die folgenden Parameter werden dazu verwendet, die Menge interessanter Regionen mit Hilfe bestimmter Regionenmerkmale einzuschränken. Um die Verwendung eines Merkmals bei der Segmentation explizit zu verhindern, ist der entsprechende Parameter auf -1 zu setzen.
Maximale Anisometrie (vgl. eccentricity).
| GenParamValues: | > 1 (-1: Merkmal nicht verwenden) |
| default: | 1.45 |
Minimale Kompaktheit (vgl. compactness).
| GenParamValues: | > 1 (-1: Merkmal nicht verwenden) |
| default: | 1.2 |
Maximale Kompaktheit.
| GenParamValues: | >= 'compactness_min' (-1: Merkmal nicht verwenden) |
| default: | 3.0 |
Maximale Zirkularität (vgl. circularity).
| GenParamValues: | <= 1.0 (-1: Merkmal nicht verwenden) |
| default: | 0.8 |
Minimale Zirkularität.
| GenParamValues: | <= 'circularity_max' (-1: Merkmal nicht verwenden) |
| default: | 0.45 |
Minimale Grauwert-Abweichung (vgl. intensity).
| GenParamValues: | > 1.0 (-1: Merkmal nicht verwenden) |
| default: | 20.0 |
Die folgenden Parameter werden automatisch aus der Modulgröße 'module_width' und Parametern des Barcode-Descriptors BarCodeDescr bestimmt (siehe Operator gen_2d_bar_code_descr). Sie können jedoch auch individuell angepasst werden. ACHTUNG: Wird die Modulgröße zusammen mit anderen Parametern gesetzt, muss sie VOR den anderen Parametern angegeben werden.
Maskengröße für die erste Bildmittelung.
| GenParamValues: | >= 3 |
| default: | 2.5*'module_width' |
Maskengröße für die zweite Bildmittelung.
| GenParamValues: | >= 5 |
| default: | 10.0 * 'module_width' |
Minimale Symbolgröße in Pixel*Pixel.
| GenParamValues: | > 0 |
| default: | 0.25 * 'module_width'^2 * 'columns_min' * 'rows_min' |
Maximale Symbolgröße in Pixel*Pixel.
| GenParamValues: | ge 'area_min' |
| default: | 4.00 * 'module_width'^2 * 'columns_min' * 'rows_min' |
Maskengröße für closing_circle über der Testregion.
| GenParamValues: | > 0 |
| default: | 'module_width' |
Bildverarbeitungsparameter für die Druckmethode 'engraved_darkfield':
Minimale Kompaktheit (vgl. compactness).
| GenParamValues: | > 1.0 (-1: Merkmal nicht verwenden) |
| default: | 1.2 |
Maximale Kompaktheit.
| GenParamValues: | >= 'compactness_min' (-1: Merkmal nicht verwenden) |
| default: | 3.0 |
Schwellwert im Kantenbild.
| GenParamValues: | 0 ... 255 |
| default: | 120 |
Flächenverhältnis zwischen Region und dem kleinsten umschließenden Rechteck.
| GenParamValues: | < 1.0 |
| default: | 0.7 |
Maskengröße für initiale Medianfilterung (vgl. Operator median_image).
| GenParamValues: | > 0 |
| default: | 0.1 * 'module_width' + 0.5 |
Bildverarbeitungsparameter für die Druckmethode 'engraved_lightfield':
Maximale Anisometrie (vgl. eccentricity).
| GenParamValues: | > 1 (-1: Merkmal nicht verwenden) |
| default: | 1.45 |
Minimale Kompaktheit (vgl. compactness).
| GenParamValues: | > 1 (-1: Merkmal nicht verwenden) |
| default: | 1.2 |
Maximale Kompaktheit.
| GenParamValues: | >= 'compactness_min' (-1: Merkmal nicht verwenden) |
| default: | 3.0 |
Maximale Zirkularität (vgl. circularity).
| GenParamValues: | <= 1.0 (-1: Merkmal nicht verwenden) |
| default: | 0.8 |
Minimale Zirkularität.
| GenParamValues: | <= 'circularity_max' (-1: Merkmal nicht verwenden) |
| default: | 0.45 |
Minimale Grauwert-Abweichung (vgl. intensity).
| GenParamValues: | > 1.0 (-1: Merkmal nicht verwenden) |
| default: | 20.0 |
Maskengröße für die Bildmittelung.
| GenParamValues: | >= 3 |
| default: | 10*'module_width' |
Minimale Symbolgröße in Pixel*Pixel.
| GenParamValues: | > 0 |
| default: | 0.25 * 'module_width'^2 * 'columns_min' * 'rows_min' |
Maximale Symbolgröße in Pixel*Pixel.
| GenParamValues: | >= 'area_min' |
| default: | 4.00 * 'module_width'^2 * 'columns_min' * 'rows_min' |
Maskengröße für closing_circle über der Testregion.
| GenParamValues: | > 0 |
| default: | 'module_width' |
Maskengröße für opening_circle über der Testregion.
| GenParamValues: | > 0 |
| default: | 1.5*'module_width' |
Bild, das Barcode(s) enthält.
Regionen, die einen Barcode enthalten könnten.
Beschreibung der gesuchten 2D-Barcodeklasse
Liste von Namen (optionaler) generischer Parameter für die Steuerung der Bildverarbeitung.
Defaultwert: []
Werteliste: 'anisometry_max', 'area_max', 'area_min', 'circularity_max', 'circularity_min', 'closing_mask_rad', 'compactness_max', 'compactness_max', 'compactness_min', 'compactness_min', 'deviation_min', 'edge_thresh', 'mean_mask_size', 'mean_mask_size_1', 'mean_mask_size_2', 'median_mask_rad', 'module_width', 'opening_mask_rad', 'region_rect2_rel'
Liste von Werten der generischen Parameter für die Steuerung der Bildverarbeitung.
Defaultwert: []
Werteliste: 1, 1.1, 1.2, 1.3, 1.4, 1.5, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
Zusätzliche Parameter, die die Barcoderegionen beschreiben und für die Extraktion der Datenwerte verwendet werden können (siehe decode_2d_bar_code).
find_2d_bar_code liefert den Wert 2 (H_MSG_TRUE), falls die übergebenen Parameter korrekt sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.
Data Code
| Operatoren |