AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi OCR für Arme, und ich bin noch ärmer
Thema durchsuchen
Ansicht
Themen-Optionen

OCR für Arme, und ich bin noch ärmer

Ein Thema von Medium · begonnen am 30. Apr 2009 · letzter Beitrag vom 21. Jul 2009
Antwort Antwort
Gargoyl

Registriert seit: 11. Mär 2007
69 Beiträge
 
#1

Re: OCR für Arme, und ich bin noch ärmer

  Alt 30. Apr 2009, 20:10
Hi,

ich würde deinen Bild-String erstmal in einzelne Buchstaben trennen bzw. kleine Bildchen für die Buchstaben. Also für jeden Buchstaben ein Bild. Einfach als Trennsymbol eine Vertikale weiße Linie = Neuer Buchstabe. So bekommst du für jeden Buchstaben/Symbol ein kleines Bildchen. Du hast vermutlich inzwischen von jedem Buchstaben/Symbol ein kleines Bildchen angelegt mit denen du vergleichst. Damit du pro Buchstabe nicht alle Bildchen vergleichen muss, kannst du die Anzahl der möglichen Buchstaben ja nochmal ein schränken. Wenn dein 'Prüfsymbol' z.B. 2 Pixel breit ist, dann reicht es ja mit allen Buchstaben zu vergleichen die nur 2 Pixel Breit sind. so kannst du dir Vergleiche mit breiteren Buchstaben wie dem 'm' gleich mal sparen. Dann kommt es auch nicht zu deinem Problem mit dem 'd' dass als 'dl' erkannt wird, weil du mit dem 'l' gar nicht mehr vergleichst da es nicht breit genug ist und somit von vorneherein aussortiert wird. Zum anderen kannst du überprüfen wie viele Pixel des 'Prüfling' mit dem Potentiellen Buchstaben übereinstimmen. ein 'd' hat dann sicher keine 100%ige Übereinstimmung mit dem 'l'. Oder du machst eine XOR verknüpfung der beiden Bilder. Wenn das Ergebnis dann ein einfarbiges Bild ergibt hast du einen Treffer. Und bei 'd' und 'l' gibt das dann kein einfarbiges Ergebnis bei einer XOR Verknüpfung.
Ok, mehrere weiße Vertikale Linien sind dann eben ein Leerzeichen. Da muss man noch aufpassen

Wobei der Ansatz einer Überarbeitung bedarf wenn die Zeichen alle gleich breit sind wie z.B. bei 'Courier New' oder anderen Mono Space Schriftarten.

kleiner Schönheitsfehler bei der Idee: Das Zeichen " (Doppelte Anführungszeichen) wird als evtl. als '' (Zwei Apostrophe) erkannt, oder gar nicht. Da muss man dann einen Sonderfall einbauen.

Btw: mal was anderes... welche Font hast du? Da kann es je nach Font zu Problemen kommen. Ein großes 'I' und ein kleines 'L' sehen in Arial z.B. gleich aus.

Ich hoffe die Idee hilft dir weiter.

Gargoyl

[EDIT]Oh während ich getippt habe, war Dax schon mit der gleichen Idee schneller [/EDIT]
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz