AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OCR, Barcodes - Wie fängt man an?

Ein Thema von Prototypjack · begonnen am 11. Jul 2009 · letzter Beitrag vom 16. Jul 2009
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

Registriert seit: 17. Mär 2008
298 Beiträge
 
Delphi 7 Personal
 
#21

Re: OCR, Barcodes - Wie fängt man an?

  Alt 14. Jul 2009, 22:49
Hi,

was hältst du von dieser Idee:

Du gehst das ganze Bild durch (das original Bild (=farbig)) und setzt in einem neuen Bild überall dort einen schwarzen Punkt wo ein besonders staker unterschied vom Nachbarpixel (schwarz weiß[evt. toleeranzgrenze?] zum nächsten ist.
Das bedeutet das neue Bild gibt nach dieser Bearbeitung alle Umrisse wider.
Jetzt teilst du das ganze Bild in Quadrate. Quadrate die Teile des Strichcodes enthalten, haben immer (wenn die Quadrate groß genug gewählt sind)schwarz-weiß übergänge. Also ist überall da wo in unserem neuen Bild kein Übergang (= keine schwarzen Punkte) ist kein Barcode.
So kann man vermutlich schon eine Menge stellen ausschließen.

Jetzt muss man sich Charackteristische Merkmale für Quadrate heraussuchen die Barcode enthalten. (Man könnte alle weißen Pixel und alle schwarzen Pixel in noch Möglichen quadraten addieren und den Mittelwert Bilden, vielleicht erkennt man durch ausprobieren das quadrate aus der Mitte des Codes meistens ein verhältnis von 2:100 oder so ist.

Bei Potentielen Quadraten kann man sich überlegen ob man irgendwie die schwarzen Pixel darauf überprüfen kann, dass sie in einer Reihe sind (wenn auch gedreht). So könnte man zurückrechnen wie weit man das Bild drehen muss um alles grade zu haben. Jetzt geht man von diesem Quadrat aus Nach rechts und links und findet leicht den rand des barcodes, nämlich dann wenn kein schwaz weiß unterschied bei gewissen Abständen vorhanden ist.

Das als Denkanstoß

MfG

Spiderpig

PS:

echt interessantes Thema
---Zufall ist das Inkognito Gottes---
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#22

Re: OCR, Barcodes - Wie fängt man an?

  Alt 16. Jul 2009, 13:57
Moin,

Der Ansatz mit der Timing-Tabelle scheint wirklich der Richtige zu sein, danke dafür! Aber ich habe jetzt ein grundsätzliches Problem mit dem EAN-13 Standard.

Wie finde ich die erste Zahl heraus? Steht die irgendwo kodiert (muss sie ja, denn es gibt ja auch Barcodes ohne Zahlen)? Denn laut Wikipedia (und der Standard ist in meinen Augen mehr als verwirrt ) ist diese Zahl maßgeblich für das Lesen des Strichcodes.

Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Alien_F

Registriert seit: 31. Jan 2008
21 Beiträge
 
Delphi 2006 Professional
 
#23

Re: OCR, Barcodes - Wie fängt man an?

  Alt 16. Jul 2009, 15:09
Die eigentliche Nr. ist tatsächlich 13-stellig ( inkl. Prüfziffer ). Falls du C1,C2,C3 meinst - die Dinger stellen keine Ziffern dar, sondern lediglich Markierungen.
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#24

Re: OCR, Barcodes - Wie fängt man an?

  Alt 16. Jul 2009, 15:51
Zitat von Alien_F:
Die eigentliche Nr. ist tatsächlich 13-stellig ( inkl. Prüfziffer ). Falls du C1,C2,C3 meinst - die Dinger stellen keine Ziffern dar, sondern lediglich Markierungen.
Ja, schon klar. Aber sieh' dir mal die Prüfziffer bzw. deren Bedeutung an. Diese kann von 0-9 variieren und verändert, je nach Zahl, die gesamte Struktur des Codes (ist im englischen Wiki-Artikel als R/G/B gekennzeichnet).

Damit ich jetzt den Code überhaupt lesen kann, muss ich die erste Zahl wissen, nur, wie mach' ich das?

Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Alien_F

Registriert seit: 31. Jan 2008
21 Beiträge
 
Delphi 2006 Professional
 
#25

Re: OCR, Barcodes - Wie fängt man an?

  Alt 16. Jul 2009, 16:30
Ach so. Du meinst was völlig anderes.
Die erste Ziffer wird gar nicht kodiert, sondern ergibt sich aus dem Pattern der Kodierung der 1 6er-Gruppe. ( Deswegen druckt man wahrscheinlich die erste Ziffer vor die erste Markierung C1 - rein optisch betrachtet).
Du musst einfach die ersten 6 Zahlen hinter dem ersten Marker entziffern. In dem Artikel ist ein Beispiel mit einer führenden 8. Hat man erkannt, dass für die erste 6er-Gruppe das zugrundeliegende Pattern LGLGGL war, kann man in der Tabelle entsprechend nachschauen.

( um Verwirrungen vorzubeugen: die Prüfziffer (also die Checksumme des Codes) ist die allerletzte Ziffer und wird explizit kodiert. Berechnugsformel zur Verifizierung ist ja weiter unten im Artikel angegeben. )
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#26

Re: OCR, Barcodes - Wie fängt man an?

  Alt 16. Jul 2009, 16:32
Meinst du die Entscheidung ob das Odd- oder Even-Alphabet vorkommt? Wenn ja, hat die Prüfziffer nichts damit zu tun. Die Unterscheidung Even/Odd fällt auch nicht zwangsweise an, da ein Even-Code nie auch als Odd auftaucht - auch nicht rückwärts, weil das wäre genau die selbe Zahl im jeweils anderen Alphabet. Jede Linienkombination ist eindeutig genau einer Ziffer zuzuordnen, egal ob sie Even oder Odd codiert ist.
Die Prüfziffer ist doch letztlich nur eine Sicherheitsmaßnahme, mit der man nach der Lesung prüfen kann ob man auch alles richitg gelesen hat. Sie ändert nichts an der Interpretation des Codes. Da würde sich ja die Katze in den Schwanz beißen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Alien_F

Registriert seit: 31. Jan 2008
21 Beiträge
 
Delphi 2006 Professional
 
#27

Re: OCR, Barcodes - Wie fängt man an?

  Alt 16. Jul 2009, 17:24
Vielleicht auch etwas hilfreich. Guckst du hier EAN13 Barcode Control
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#28

Re: OCR, Barcodes - Wie fängt man an?

  Alt 16. Jul 2009, 17:46
Moin,

Danke für den Hinweis. Ich dachte irrtümlicherweise, dass sich die Codes innerhalb der 3-Sparten (LGR) wiederholen. Wenn jeder Code dagegen einzigartig ist, ist das, was ich vorher über die erste Ziffer gesagt / gedacht habe natürlich sinnlos.

Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz