PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CCD Kamera als Barcode Scanner



Otako
28.03.2006, 17:41
Hallo zusammen,

Ich schreibe gerade dipl. Arbeit und komme an einer Stelle nicht weiter. Es geht um eine CCD Kamera mit der Auflösung von 640 * 480 Pixel. Diese wird auch auch zur Erkennung von 1D Barcodes verwendet (128C Code). Hauptsächlich arbeitet die kamera aber zur Erkennung von Bildern. Wie ist es bei der Barcodeerkennung, muss der gesammte Barcode auf einer einzigen Zeile (von 480) vollständig abgebilder sein oder kann man auch eine Software schreiben die in der Lage ist den Code aus mehreren CCD Zeilen zusammenzustellen.? Es geht um die Mindesthöhe des Barcodes, und deswegen meine Frage, wie stark darf ein 2 Millimeter schmaler und 30 Millimeter breiter Barcode verdreht werden um dennoch von einer Stationären Kamera gelesen zu werden.

Weil, wenn der Barcode komplett in einer CCD Zeile abgebilder sein muss (inklusive Start und Stop Sequenz), dann muss der Barcode eine höhere Mindesthöhe haben.

Das ganze Geschieht bei einer Geschwindigkeit von gut 35 Bilder/s. Dazu kommt noch der Datenfluß von ca. 11 MB/s (35 Bilder/s x 640*480*8 Bit grau) wobei jedes mal der Barcode gelesen werden muss.

Vielleicht hat da jemand Erfahrung mit,
Ich freue mich auf jede Antwort.

Gruß
Sascha

maze2k
28.03.2006, 18:19
Naja das ist ein typisches Bildverarbeitungsproblem...

Die Start- und Stopsequenz eines Barcodes ist ja üblicherweise "länger" (also die Striche sind länger) als der restliche Code. Da könnte man mit einem geeigneten Algorithmus dann das Bild zwischenspeichern, wenn der Stop-Code noch nicht da ist und dann am Ende mit dem nächsten Bild koppeln. Problematisch wird es dann nur, wenn auf dem nächsten Bild schon der Startcode des nächsten Barcodes drauf ist... Das ist auch zu machen, aber dann etwas komplexer.

Das mit der Drehung dürfte im Allgemeinen auch nicht schwierig zu sein. Optimal wären Drehungen in 45° Schritten (also 0°, 45°, 90°, 135°, usw), da lässt sich die Drehung recht schnell berechnen. Wenn du andere Drehwinkel hast, müsstest du komplexere Operatoren entwerfen/benutzen um die Orientierung herauszubekommen...

Ich denke mal, für die Barcodeerkennung benutzt du sowieso schon einen Ableitungsfilter (1. Ableitung / Gradient ?)... dann könntest du auch mit relativ wenig Mehraufwand einen Strukturtensor (und daraus abgeleitet einen Orientierungsvektor/-winkel) benutzen. Aber ich glaube, das wäre doch ein wenig zu aufwändig für die Barcode-Erkennung.