DSB18: Barcode erzeugen und lesen
Autor: Tobias Brandt
Betreuer: Prof. Schneider
Motivation
Barcodes begleiten unseren Alltag bereits seid Jahrzehnten. Sie codieren Preise im Einzelhandel, ermöglichen das Verfolgen von Briefen und Paketen oder sind als Teil der Stempelkarte Teil der Zeiterfassung in der Industrie. Doch wie werden Barcodes erzeugt und gelesen? Dieser Artikel soll einen kurzen Einblick in die Notation, die Erstellung und das letzlich das Lesen des speziellen CODE39 geben. Integration des Programms erfolgt in Matlab.
Aufgabenstellung
Erzeugen Sie ein Matlab Executable, welches ein Barcode erzeugt. Mit einer Webcam soll ein beliebiger Barcode auf einem Dokument unabhängig von Position und Lage eingescannt werden können.
Prinzip Code39
Der Code 39 ist ein diskreter Code mit variabler Codelänge (Wenn mehr Zeichen dargestllt werden sollen, verlängert sich auch der Code). Der Code wurde 1973 erfunden und war somit der erste alphanumerische Barcode. Im Grundsatz besteht der barcode aus weißen und schwarzen Strichen.
Der Name ("Code 3 of 9") geht auf die Struktur der Kodierung zurück. Dabei werden die Zeichen der zu kodierenden Nachricht durch 9 schwarze und weiße Balken repräsentiert. Drei dieser Balken sind breit und der rest schmal. Jeder Block, dieser ein Zeichen darstellt, besteht aus 5 Strichen und 4 Lücken. Getrennt sind die Blöcke durch eine schmale weiße Lücke. Eine nachricht im Code39 beginnt und endet jeweils mit einem Sternchen '*'. Dies wird auch als Start-oder Stoppzeichen bezeichnet.
Der Standartcode verfügt über keine Prüfziffern und kann folgende Zeichen darstellen:
0123456789[Space]ABCDEFGHIJKLMNOPQRSTUVWXYZ-.$/+%
Die Kodierung der einzelnen Zeichen ist in der rechts abgebildeten Zeichentabelle festgelegt.
In der Folgenden Auflistung werden die Vor-und Nachteile Stichpunktartig aufgeführt:
Vorteile:
- große Lesesicherheit
- sehr weit verbreitet
- einfach in der Produktion
Nachteile:
- geringe Code Dichte
- keine Prüfsumme
Implementierung Barcode erstellen
Implementierung Barcode lesen
Verwendete Geräte
Für das Einlesen des Barcodes wurde die Webcam Logitec HD Webcam C310 verwendet. Die Videoauflösung beträgt 1.280 x 720 Pixel.
Beispielbilder
Anforderungen
- Arbeiten Sie sich in die Erstellung von Barcodes ein.
- Erzeugen Sie ein Matlab Executable, welches aus einen Barcode erzeugt.
- Lesen Sie mit Matlab über eine Webcam diesen Barcode ein, so dass die dahinterliegenden Daten angezeigt werden.
- Wissenschaftliche Dokumentation als HSHL-Wiki Artikel
- Softwareentwicklung nach SDE Standard in SVN
- Funktionsnachweis als YouTube-Video (vgl. Veranstaltungsregeln)
Youtube Video
Weblinks
- Wikipedia: Strichcode
- Barcodes for Mobile Devices
- Steffen Schulze Middendorf: Barcode erzeugen und lesen
- Mobile Tagging
- A New Method for Bar Code Localization and Recognition
- Barcode recognition
- Barcode Recognition Using Live Video Acquisition
- Universal Product Code - UPC
- Barcode Recognition
- YouTube: How Barcodes Work
Literatur
- Bernhard Lenk: Handbuch der automatischen Identifikation. Band 1-3: 2D-Codes, Matrixcodes, Stapelcodes, Composite Codes, Dotcodes. Lenk Monika Fachbuchverlag, Kirchheim unter Teck 2002, ISBN 978-3-935551-01-4.
- ten Hompel, M., u.A.: Identifikationssysteme und Automatisierung. Heidelberg: Springer, 2008. ISBN 978-3-540-75880-8
BSD-Lizenzbedingung BSD-Lizenz
Copyright (c) 2018, Hochschule Hamm-Lippstadt, Dep. Lip. 1, Prof. Schneider
Hochschule Hamm-Lippstadt. Alle Rechte vorbehalten.
→ zurück zum Hauptartikel: Digitale Signal- und Bildverarbeitung SoSe2018