Einlesen via Webcam

Verlagert man die Arbeit der Dekodierung vom Scanner zum Rechner, so entfällt die Anschaffung eines "intelligenten" Imagers. Eine schlichte Webcam (Abbildung 7) für 9,95 Euro aus dem Elektronik-Laden genügt für diesen Zweck. Die Kamera muss lediglich einen Handfokus anstelle von Autofokus bieten und über eine LED-Beleuchtung sowie eine Klemmbefestigung verfügen. Sie verbinden die Webcam per USB mit dem Rechner, auf dem das Video4Linux-Paket installiert sein muss.

Zum Auswerten benötigen Sie das Programm Zbarcam. Es gehört zur Zbar-Suite [14], die alle gängigen Distributionen in ihren Repositories vorhalten. Das Scanprogramm wertet unter anderem EAN-8, EAN-13, CODE-128, CODE-39 und den QR-Code aus. Zbarcam verfügt über einen abschaltbaren Kontrollbildschirm, der beim Justieren der Optik hilft: Erscheint der Barcode mit grüner Farbe gefüllt oder QR-Code grün umrahmt, dann funktioniert das Einlesen.

Falls Sie die Webcam fest montieren, markieren Sie deren Zielbereich am besten mit farbigem Isolierband, was das Ausrichten der Gegenstände oder Papiere mit dem Barcode deutlich erleichtert. Im Idealfall kann man so später durchaus per Option auf den Kontrollbildschirm verzichten, besonders bei einer Einbindung in Shell-Skripte. Ein Muster für den eigenen "Skriptbaukasten" zeigt das Listing 5, das die Grundfunktionen von Zbarcam demonstriert.

Die wichtigsten Optionen von Zbarcam lauten --raw und --nodisplay. Mit --raw erhalten Sie nur die dekodierte Information ohne weitere Angabe, beispielsweise die Artikelnummer. Andernfalls gibt das Programm auch die Kodierungsangabe aus. Die Anzeige des Kontrollbildschirmes verhindern Sie mittels der Option --nodisplay. Ein Beispiel für den Ablauf des Shell-Skripts zeigt Abbildung 8.

Abbildung 8: Der Ablauf des Shell-Skripts mit Zbarcam.

Listing 5

#! /bin/sh
while true;
do
# Einlesen ohne Kontrollbildschirm, Ausgabe ohne Code-Typ
  zbarcam --raw --nodisplay > barcode.txt &
# Einlesen mit Kontrollbildschirm, Ausgabe ohne Code-Typ
# zbarcam --raw  > barcode.txt &
  pid=$!
# Schlafen, bis Dateiinhalt vorliegt
  while true ;
  do
    sleep 0.5
    if [ -s barcode.txt ];
    then
      kill $pid
      break
    fi
  done
  beep
# Auslesen der Textdatei und belegen der Variablen
  bwert=`cat barcode.txt`
  echo "Eingelesen: "$bwert
  echo -n "Weiter [ENTER]";read wn
done

Einlesen per Flachbettscanner

Das Auslesen von Strich- und 2D-Codes aus Bilddateien eignet sich beispielsweise für Prüfungsbögen oder Bestellscheine. So lässt sich damit zur Not sogar per Shell-Skript das Schriftgut zutreffend in eine SQL-Datenbank verbringen.

Das Programm Zbarimg gehört wie Zbarcam zur ZBar-Suite [14] und verfügt auch über ähnliche Optionen. Es kann in einem Durchgang mehrere verschiedene Codes erkennen, Sie können es aber auch auf das Auslesen eines einzigen Codes beschränken. Die Option --raw unterdrückt die Ausgabe des Code-Typs. Der Kontrollbildschirm müssen Sie hier explizit mit -D anfordern. Man kann das Programm. Die Statusmeldung mit der "Arbeitsleistung" von Zbarimg unterdrücken Sie mit dem Parameter -q ("quiet").

Das Blatt mit den eigens erzeugten Muster-Codes wurde im Test mit 200 dpi eingescannt (Abbildung 9). Der erste Durchlauf erfolgt mit, der zweite ohne Ausgabe des Code-Typs und des Statusberichts.

Abbildung 9: Das Dekodieren verschiedener Code-Typen mit Zbarimg.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Linientreu
    Als Bar- oder QR-Code aufbereitete Informationen lassen sich mit der richtigen App auf dem Smartphone oder Tablet schnell einlesen und weiterverarbeiten. Perfekte Codes dazu erstellen Sie mit LaTeX.
  • KBarcode4-light erzeugt Barcodes unter KDE 4

    Bis das Programm KBarcode vollständig auf KDE 4 portiert ist, bietet der Entwickler Dominik Seichter den Anwendern KBarcode4-light zum Erstellen von Strichcodes an.
  • Strichweise
    Daten wiederzufinden, eindeutig zuzuordnen und als vollständig und authentisch zu identifizieren, ist nicht leicht. Hintergrundbilder und Barcodes können dabei helfen.
  • QR-Codes unter Linux erzeugen und lesen
    QR-Codes dechiffrieren Sie nicht nur mit dem Smartphone, sondern auch unter Linux. Mit den passenden Werkzeugen erstellen Sie zudem im Nu eigene Code-Quadrate, etwa mit Ihrer Adresse für die Visitenkarte.
  • Kurzanleitung: QR-Codes mit Linux und ZBar scannen
    Auf der Suche nach einem QR-Code-Generator bin ich auf eine Software gestoßen, die sich perfekt als QR-Scanner für Linux eignet: ZBar.
Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...