(Moderator)
Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
Delphi 2007 Enterprise
|
Re: Barcode Erkennung in Bildern (Jpg/TIF)
4. Feb 2006, 19:30
Man darf bei einer Implementierung (die ich interessant fände) eins nicht vergessen (was die Sache vereinfacht). Scanner sind blöd. So richtig blöd. Also ist die Spezifikation eines Barcodes, also die das Verhältnis von breiten zu schmalen Strichen bzw. Zwischenräumen ziemlich eng gefasst.
Beim Drucken kann man also nicht einfach ein paar Rechtecke rendern und dann drucken, das klappt nämlich bei sehr kleinen Barcodes nicht mehr. Das Gleiche kann beim Scannen passieren. Kann, nicht muss.
Wenn Groba schon festgestellt hat, das das übersichtlich läuft, dann wird man also eine Lösung entwicklen können.
Die meisten Barcodes haben Start- und Stoppcodes, damit Barcodes zuverlässig erkannt und Fehllesungen (wenn nur ein Teil des Barcodes gelesen wird) vermieden werden können. Weiterhin sollte ein Barcode eine sog. Clearzone haben, das ist ein weisser Bereich links und rechts vom Code.
Wenn man nun einschränkt, nur Codes erkennen zu wollen, die auch ein normaler Scanner erkennt, dann sollte ein Sweeping wie von shmia vorgeschlagen, zum Erfolg führen. Es würde reichen, in einer Pixelreihe/Spalte nach den Spezifikationen (Clear zone, Hell/Dunkel wechsel im Bereich der Barcodespezifikation, Start/Stop-Codes, erkannte Codes etc.) einen Barcode zuverlässig zu erkennen.
Ein LCD-Scanner besitzt nur ein Zeilen-CCD und der Laserscanner sieht auch nur eine Zeile. Dann können wir das mit einer Pixelzeile auch.
Knifflig würde es nur bei schräg (>10°) aufgebrachten Codes, dann muss man eventuell mehrere Sweeps durchführen, und zwar jeweils um ein paar Grad gedreht. Damit sollte es kein Problem sein, einen Code zu erkennen...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
|