AGB  ·  Datenschutz  ·  Impressum  







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

OCR für Delphi...

Ein Thema von FriFra · begonnen am 15. Okt 2006 · letzter Beitrag vom 22. Feb 2018
Antwort Antwort
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#1

Re: OCR für Delphi...

  Alt 15. Okt 2006, 20:00
Zitat von Garfield:
Zur Graustufenumwandlung:

1. ein Bild in Graustufen umwandeln

2. Es gibt Grafikformate, welche keine Farbe unterstützen. Somit wäre der Umweg über so ein Format möglich.

Zu bmp 2 pcx

1. Die Library GraphicEx von Mike Lischke unterstützt PCX, auch Graustufen.

2. http://www.efg2.com/Lab/Library/Delp...Conversion.htm
1. Graustufen sind kein Problem ... aber dieses Freeware ocr braucht wohl s/w und s/w <> graustufen
2. nene.. angenommen, ich weise eine Truecolor bitmap einem solchen Grafikobjekt zu, wie wird dann "konvertiert"? Sofern das ohne Fehlermeldung durchgeht ist doch das Ergebnisss nicht wirklich vorhersehbar

die Library schau ich mir mal an, wer weiss, wozu man das mal braucht
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
456 Beiträge
 
#2

AW: OCR für Delphi...

  Alt 22. Feb 2018, 06:12
Frage: Habe das hier http://www.devsuperpage.com/Articles.../Art_1-710.aspfür die PCXImage UNIT gefunden und verwendet. Doch es macht FARBIGE pcx und nicht B/W.
Wie kann ich gocr.exe nutzen, wenn ich kein B/W pcx habe - oder wie kann ich die farbige PCX in S/W pcx convertieren.
DANKE
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
171 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: OCR für Delphi...

  Alt 22. Feb 2018, 06:36
Wie kann ich gocr.exe nutzen, wenn ich kein B/W pcx habe - oder wie kann ich die farbige PCX in S/W pcx convertieren.
DANKE
Indem Du entweder die Umwandlung von Farbe zu Schwarzweiss selbst erledigst oder eben nicht gocr verwendest.

Tesseract (https://github.com/tesseract-ocr/tesseract/wiki) ist deutlich besser als gocr und kann entweder von der Komandozeile aus verwendet werden, oder als DLL eingebunden werden (mit einer C Schnittstelle die auch von Delphi aus nutzbar ist wenn man sich die Header übersetzt).

Die inoffiziellen Windows Binaries gibt es hier (https://github.com/UB-Mannheim/tesseract/wiki)

Wenn Du es mit der Konvertierung Farbe-Grau-Schwarzweiss probieren willst :

Zuerst nach Gray wandeln

https://community.embarcadero.com/bl...property-39051

Und dann von Grau nach Schwarzweiss. Das ist eine Schwellenwert Aktion. In vielen Fällen reicht die ganz einfache Variante alle Werte oberhalb eines Schwellenwertes (z.B. 128) als Weiss, alle darunter als Schwarz anzusehen.

Je nach Zweck und Dokument und gewünschten Ergebnis kann das aber auch deutlich komplexer sein.

http://www.leptonica.com/binarization.html

Die Tesseract C-DLL Variante enthält eine Bilbiothek namens Leptonica die eine ganze Reihe von Verfahren zur Wandlung von Graustufen nach S/W unterstützt.

Verhältnismäßig einfach zu portieren, mit hervorragenden Ergebnissen aber hoher Rechenaufwand ist auch

https://perso.liris.cnrs.fr/cwolf/software/binarize/

hth

Ha-Joe
  Mit Zitat antworten Zitat
wschrabi

Registriert seit: 16. Jan 2005
456 Beiträge
 
#4

AW: OCR für Delphi...

  Alt 22. Feb 2018, 06:44
Tausend DANK! habe mir Tesseract (https://github.com/tesseract-ocr/tesseract/wiki) installiert, doch wie kann ich von der
cmd prompt zeile ein bmp oder pcx in ASCII übersetzen?

Finde keine Examples.
DANKE

Hab es zusammengebracht, doch leider kann ich von den WINDOWSSCREENshoot, das ich als BMP, JPG oder GIF habe, nur schlecht
den Text wiedererkennen.... Hat wer da Rat wie man das verbessern kann.

Es kommt auch eine Warning:
Warning. Invalid resolution 0 dpi. Using 70 instead.

Wer weiss RAT?


Hier ist der OUTOUT von dem JPG mit höchste Qualität.
Angehängte Grafiken
Dateityp: jpg scanmy.jpg (45,2 KB, 31x aufgerufen)

Geändert von wschrabi (22. Feb 2018 um 07:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#5

AW: OCR für Delphi...

  Alt 22. Feb 2018, 08:10
STDOUT die das, was z.B. normalerweise als "Text" in die Console geschrieben wird.

in einer Batch geht das mit ">" tesseract myscan.png stdout > deine.txt
oder bei CreateProcess das stdout-Handle setzen, z.B. auf ein Handle eines FileStreams (CreateFile)

Aber wenn ich sehe, was da raus kam, dann ist das nicht wirklich ein gutes Ergebnis.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (22. Feb 2018 um 08:35 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: OCR für Delphi...

  Alt 22. Feb 2018, 08:30
Für Tesseract existiert auch eine Delphi-Wrapper

https://github.com/r1me/TTesseractOCR4
Markus Kinzler
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
171 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: OCR für Delphi...

  Alt 22. Feb 2018, 09:53

Hab es zusammengebracht, doch leider kann ich von den WINDOWSSCREENshoot, das ich als BMP, JPG oder GIF habe, nur schlecht den Text wiedererkennen.... Hat wer da Rat wie man das verbessern kann.

Es kommt auch eine Warning:
Warning. Invalid resolution 0 dpi. Using 70 instead.
Es gibt eine FAQ zu Tesseract und was man machen kann um das Ergebnis zu verbessern.

https://github.com/tesseract-ocr/tes...ImproveQuality

In Deinem Fall vermutlich

1. Hast du die richtige Sprache installiert und verwendet, oder lediglich Default - also Englisch

Wenn nein, Deutsch verwenden ausprobieren, verbessert ?

Sprachen / Dictionaries kannst Du seperat herunterladen, auf die richtige Version achten

für Tesseract 3.X

https://github.com/tesseract-ocr/langdata

für Tesseract 4.X

https://github.com/tesseract-ocr/tessdata


2. Funktioniert evtl. Tesseract 4.X besser (mit Deutsch) ?

3. Kannst Du das Bild auf 300 DPI skalieren

4. Doch wieder selbst binariesieren. In Fall eines Screenshots ist normalerweise die einfachste Operation die beste. Wenn du jedes Pixel das heller ist als die Schriftfarbe (Schwarz) als weiß ansiehst, dann hast Du am Ende ein S/W Bild bei dem alles außer der schwarzen Schrift verschwunden ist. Das ist eigentlich ideal um es mit einer OCR zu verwenden.

hth

Ha-Jö
  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 10:29 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