Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.07.2007, 17:52 Titel: EAN13-Barcodes auswerten |
|
|
Hallo
Ich möchte ein kleines, absolut sinnfreies Programm vorstellen, das ich eben mit QB zusammengeschustert habe. Es liest EAN13-Barcodes von Bildern aus.
Da die Erkennung noch nicht sehr ausgereift ist, müssen die Bilder einige Bedingungen erfüllen.
- Es müssen Bitmap-Dateien mit 256 Graustufen sein
- Sie sollten mindesten ca. 200 Pixel in der Breite und 10 in der Höhe haben
- Im Bildausschnitt darf nur der Barcode zu sehen sein.
- Die maximale Grösse beträgt 640x200 Pixel. Innerhalb dieser Grenzen ist man aber relativ frei und auch eine leichte Schrägstellung macht nichts. Es darf aber nicht auf dem Kopf stehen.
Also z.B. aus so einem Ausgangsfoto
muss man so etwas machen, damit das Programm damit arbeiten kann.
Der Sourcecode ist noch recht katastrophal, deshalb gibt's erst mal nur die .exe zum runterladen. Die ZIP-Datei enthält dazu noch ein paar Testbilder.
Download (ca. 500kB).
Würde mich freuen, wenn der eine oder andere es mal mit eigenen Fotos ausprobiert und vom Ergebnis berichtet. Ist alles noch etwas primitiv und funktioniert nur mit den 13-Stelligen Codes, mir geht es aber hauptsächlich um die Funktion. Wie gesagt, hat eigentlich keinen tieferen Sinn.
Gruß
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.07.2007, 18:37 Titel: |
|
|
Hallo Skilltronic!
Das Programm ist durchaus interessant. Tests bei mir verliefen mal positiv, mal negativ.
Bei einem Bild stürzte mir das Programm mit "Index außerhalb des Bereichs" (hieß glaub ich so) ab. Bei anderen wurde es erkennt, manchmal aber die letzten paar Ziffern nicht.
Trotzdem gute Arbeit!  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.07.2007, 18:45 Titel: |
|
|
Hallo Mao,
danke für die Antwort. Könntest Du mir evtl. die Bilder schicken, die nicht funktionieren? Mal sehen, ob ich den Fehler finde.
Meine Mailadresse: skillfinger@gmx.de
Gruß
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.07.2007, 19:05 Titel: |
|
|
Natürlich, Mail sollte in den nächsten 10 Minuten da sein.
/edit:
Sollte da sein.
Wie in der Mail geschrieben; teilweise musste ich die BMP's nochmal erstellen (da wieder gelöscht). Die anderen Bilder erkannte das Programm dann doch ohne Probleme! (Wahrscheinlich ein Fehler meinerseits (von wem auch sonst).) _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.07.2007, 19:38 Titel: |
|
|
Super, vielen Dank für Deine Mühe!
Ich denke, es liegt bei den Bildern, die nicht gehen, an der ungleichmässigen Helligkeit. Die weißen Streifen auf der linken Seite sind fast so dunkel, wie die schwarzen auf der rechten, da kommt die automatische Kontrasteinstellung ins schleudern. Ich habe aber schon eine Idee für eine entsprechende Verbesserung. Das es sich aufhängt sollte natürlich trotzdem nicht sein. Mal sehen, was ich da machen kann. Als erstes vielleicht ne Fehlermeldung "unzureichende Bildqualität" oder so. Ich arbeite dran...
Gruß
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.07.2007, 20:24 Titel: |
|
|
Ja, halt wie geschrieben, die Beleuchtung war sehr unpraktisch...das Licht kam von der rechten Seite. Deswegen auch dieser "Farbverlauf". _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
King-01 gesperrt

Anmeldungsdatum: 26.02.2007 Beiträge: 351
|
Verfasst am: 29.07.2007, 20:29 Titel: |
|
|
Tolles programm
wie sieht der quellcode eigentlich aus? _________________ [quote="IRC"](22:41:56)<PMedia>Jojo, hats nen Grund warum wir chatten obwohl du grad neben mir sitzt?
...
(23:00:59)<PMedia>USB war erst als Waffe geplant[/quote] |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.07.2007, 20:42 Titel: |
|
|
Hallo
@Sebastian: Auch Dir Danke fürs Testen und das Hochladen der entsprechenden Bilder.
@Mao: Es liegt wohl wirklich am Helligkeitsverlauf wie man hier schön sehen kann:
Das sind die Helligkeitswerte von "schoko2.bmp". Wie man sieht, liegen manche Minima auf der selben Höhe wie andere Maxima. Aber dieses Problem hat mich auf eine ganz neue Art der Auswertung gebracht, die ich mal ausprobieren will. War also trotzdem sehr hilfreich.
@King-01: Quellcode kommt, wenn er vorzeigbar ist
Gruß
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.07.2007, 21:10 Titel: |
|
|
Huch, wie hast du denn das Diagramm erstellt?
X-Koordinate=X-Koordinate im Bild?
Y-Koordinate=Durchschnittliche Helligkeit auf Y-Koordinate?
Schön auf jeden Fall, wenn's doch was geholfen hat!  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.07.2007, 21:13 Titel: |
|
|
Mao hat Folgendes geschrieben: | Huch, wie hast du denn das Diagramm erstellt?
X-Koordinate=X-Koordinate im Bild?
Y-Koordinate=Durchschnittliche Helligkeit auf Y-Koordinate? |
Ja, genau. Jetzt will ich mal probieren, jeweils den Abstand zwischen lokalen Maxima und Minima zu messen.
Ach ja, wen es interessiert: Aufbau des EAN 13 Codes _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 30.07.2007, 09:15 Titel: |
|
|
Bitte Werte Parameter aus die übergeben werden, ich gebe nicht gerne Dateinamen ein.
Frage:
Kannst du bitte auch ein Programm schreiben, das eine Zahlenfolge in EAN-13 Umwandelt?
Dann kann man selber solche Codes drucken, Fotografieren und wieder Zurück verwandeln und damit hätte das auswerten einen Sinn
Edit:
Hab jetzt 2 Bilder gemacht und ausprobiert und es klappt recht gut.
Was ich noch nicht raus habe ist, wie ich 256 Bit Graustuffen Bitmaps erzeuge.
Ich hab's drum so gemacht: Mit Paint Shop Pro 4 zugeschnitten, in Graustuffen umgewandelt und dann mit MS Paint als 256-Farbbitmap gespeichert.
Es geht, aber ich glaube das ist nicht im Sinne des Erfinders. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 30.07.2007, 11:20 Titel: |
|
|
Wenn ich in GIMP das Bild in Graustufen konvertiere haut's automatisch eine 256-Bitmap raus.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 30.07.2007, 12:05 Titel: |
|
|
@Michael Frey: Dann empfehle ich das kostenlose Programm PhotoFiltre. wandle dort das bild in 256 graustufen um (9. symbol in toolbar). gehe dort auf system -> grauwert 256 farben. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 30.07.2007, 13:12 Titel: |
|
|
Hallo
Michael Frey hat Folgendes geschrieben: | Bitte Werte Parameter aus die übergeben werden, ich gebe nicht gerne Dateinamen ein.
Frage:
Kannst du bitte auch ein Programm schreiben, das eine Zahlenfolge in EAN-13 Umwandelt?
Dann kann man selber solche Codes drucken, Fotografieren und wieder Zurück verwandeln und damit hätte das auswerten einen Sinn
(...)
Was ich noch nicht raus habe ist, wie ich 256 Bit Graustuffen Bitmaps erzeuge. |
Und ich arbeite nicht gern mit Parametern Im Ernst, in der nächsten Version soll man mehrere Bilder nacheinander auswerten können, deshalb behalte ich die Eingabe des Dateinamens bei.
Das Erzeugen von Barcodes ist viel einfacher, nur muss ich mich dazu vorher noch mit der Prüfziffer beschäftigen, um gültige und normgerechte Codes zu erhalten
Ebenfalls geplant ist die Verarbeitung von farbigen Bildern. Wenn nur nicht dieses lästige Arbeiten wäre. Bringt zwar Geld, aber hält einen vom Programmieren ab...
Natürlich auch Dir Danke fürs Testen und Deine Anregungen.
Gruß
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
King-01 gesperrt

Anmeldungsdatum: 26.02.2007 Beiträge: 351
|
Verfasst am: 30.07.2007, 13:58 Titel: |
|
|
Ich benutze auch nicht gern Paramenter.
Extra die Eingabeaufforderung starten, in den pfad gehen.... _________________ [quote="IRC"](22:41:56)<PMedia>Jojo, hats nen Grund warum wir chatten obwohl du grad neben mir sitzt?
...
(23:00:59)<PMedia>USB war erst als Waffe geplant[/quote] |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 30.07.2007, 14:01 Titel: |
|
|
schonmal was von verküpfungen gehört?
auf der eingabe-aufforderung musst du's ja auch immer wieder neu eintippen, wenn du eine verknüpfung erstellst (oder Maos tolles parameter-programm ), ist das einmalt getippt... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 30.07.2007, 14:02 Titel: |
|
|
Ich denke, dass mit Parameter an dieser Stelle keine steuernden Kommandozeilenparameter wie bei fbc.exe gemeint sind, sondern die Funktionalität, dass man eine Datei einfach auf die EXE via Drag&Drop draufzieht und diese dann geöffnet wird. Das Programm wird dabei gestartet und der Dateiname der draufgezogenen Datei steht in Anführungszeichen in COMMAND$ und kann daraus gelesen werden. So erspart man sich die Tastatureingaben. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 30.07.2007, 14:32 Titel: |
|
|
Sebastian hat Folgendes geschrieben: | Drag&Drop |
so geht's natürlich auch Hach, wieso gibt's in FB eigentlich kein Split(), damit ginge das mit den multi-parametern doch so einfach  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 30.07.2007, 14:32 Titel: |
|
|
@Jojo:
Hey, da erinnert sich ja doch noch einer dran.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
|