Schrifterkennung
-
- Beiträge: 109
- Registriert: Sa 20. Dez 2008, 20:42
- OS, Lazarus, FPC: Linux (L 0.9.24)
- CPU-Target: 32Bit
- Wohnort: San Jose,CA
- Kontaktdaten:
Schrifterkennung
Hallo,
ich möchte in mein Programm eine Schrifterkennung in gescanntem PNG's haben.
Also nicht Menschenschrift sondern eine Computerschrift(Arial,Purissa e.t.c.) und den erkannten Text in einem Memo-Feld anzeigen.
Ich hoffe jemand kann mir da helfen.
ich möchte in mein Programm eine Schrifterkennung in gescanntem PNG's haben.
Also nicht Menschenschrift sondern eine Computerschrift(Arial,Purissa e.t.c.) und den erkannten Text in einem Memo-Feld anzeigen.
Ich hoffe jemand kann mir da helfen.
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
Re: Schrifterkennung
Externes Programm aufrufen. Unter Linux gocr oder ocrad. K.a. was es für Windows gibt.
-
- Beiträge: 109
- Registriert: Sa 20. Dez 2008, 20:42
- OS, Lazarus, FPC: Linux (L 0.9.24)
- CPU-Target: 32Bit
- Wohnort: San Jose,CA
- Kontaktdaten:
Re: Schrifterkennung
Ja aber ich meine das wenn ich eine Seite voll "bla" hab,dass dass dann ine ein TMemo geschrieben wird.
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
-
- Beiträge: 109
- Registriert: Sa 20. Dez 2008, 20:42
- OS, Lazarus, FPC: Linux (L 0.9.24)
- CPU-Target: 32Bit
- Wohnort: San Jose,CA
- Kontaktdaten:
Re: Schrifterkennung
Die sind bei mir nicht dabei.(Ubuntu 8.10)theo hat geschrieben:Externes Programm aufrufen. Unter Linux gocr oder ocrad. K.a. was es für Windows gibt.
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Schrifterkennung
Tesseract nicht zu vergessen
Re: Schrifterkennung
Hast du das getestet?creed steiger hat geschrieben:Tesseract nicht zu vergessen
http://code.google.com/p/tesseract-ocr/" onclick="window.open(this.href);return false;
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Schrifterkennung
ich spiel grad mit diesen Beispielen rum:theo hat geschrieben:
Hast du das getestet?
http://code.google.com/p/tesseract-ocr/" onclick="window.open(this.href);return false;
http://www.mscs.dal.ca/~selinger/ocr-test/" onclick="window.open(this.href);return false;
Edit:
Installation als One Click Install von hier:
http://download.opensuse.org/repositori ... 11.0/i586/" onclick="window.open(this.href);return false;
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Schrifterkennung
gocr gibts auch für windows
Du willst komplexe Syteme programmieren aber kannst keine Software installieren ?Die sind bei mir nicht dabei.(Ubuntu 8.10)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: Schrifterkennung
Ha, hab ich vor ein paar Minuten auch so gemacht.creed steiger hat geschrieben: Edit:
Installation als One Click Install von hier:

Funktionierende 8bit Tif's kannst du mit OPBitmap erstellen:
Code: Alles auswählen
uses opbitmapformats, opbitmap, Process
procedure TForm1.Button1Click(Sender: TObject);
var Op:TOPPicture;
AProcess: TProcess;
begin
Op:=TOPPicture.Create;
Op.LoadFromFile('/home/theo/ocrtest.bmp');
Op.Bitmap.PixelFormat:=pf8bit;
Op.SaveToFile('/home/theo/locrtest.tif');
Op.free;
AProcess := TProcess.Create(nil);
AProcess.CommandLine := 'tesseract /home/theo/locrtest.tif /home/theo/proc';
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AProcess.Free;
if FileExists('/home/theo/proc.txt') then Memo1.Lines.LoadFromFile('/home/theo/proc.txt');
end;
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Schrifterkennung
Wenn Du kein Programm findest, das als "filter" gestartet werden kann (, d.h stdin als inoput und stdout als output, sollte eigentlich jedes "ordentliche" Linunx-Programm können), kannst Du programmatisch zwei "fifos" in /tmp erzeugen, in das eine Dein Bild 'reinschieben, das Programm mit dem einen als input und dem anderen als output starten und nachher den Text aus dem anderen herauslesen. (named queues geht sicher auch, da musst Du aber mehr programmieren, weil sie selber keine Daten speichern und Dein Programm sie parallel zur Ausführung des anderen Programms bedienen muss.ts230 hat geschrieben:Ja aber ich meine das wenn ich eine Seite voll "bla" hab,dass dass dann ine ein TMemo geschrieben wird.
-Michael
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Schrifterkennung
Das ist so einfach,eigentlich sollte man die Idee für ein Frontend weiterführen.theo hat geschrieben:
Ha, hab ich vor ein paar Minuten auch so gemacht.
Funktionierende 8bit Tif's kannst du mit OPBitmap erstellen:
Code: Alles auswählen
uses opbitmapformats, opbitmap, Process procedure TForm1.Button1Click(Sender: TObject); var Op:TOPPicture; AProcess: TProcess; begin Op:=TOPPicture.Create; Op.LoadFromFile('/home/theo/ocrtest.bmp'); Op.Bitmap.PixelFormat:=pf8bit; Op.SaveToFile('/home/theo/locrtest.tif'); Op.free; AProcess := TProcess.Create(nil); AProcess.CommandLine := 'tesseract /home/theo/locrtest.tif /home/theo/proc'; AProcess.Options := AProcess.Options + [poWaitOnExit]; AProcess.Execute; AProcess.Free; if FileExists('/home/theo/proc.txt') then Memo1.Lines.LoadFromFile('/home/theo/proc.txt'); end;
Re: Schrifterkennung
Das wäre wohl machbar.creed steiger hat geschrieben:eigentlich sollte man die Idee für ein Frontend weiterführen.
Man müsste halt die Tesseract Optionen studieren und evtl. im Frontend das Bild vorbereiten.
Wie ich deinem Link entnommen habe, hat Tesseract mit Farbbildern Probleme.
Das könnte man alles vorher hinbiegen. OpBitmap eignet sich ziemlich gut für sowas.
Im OpBitmap ImgLibs Verzeichnis gibt es eine Datei opimglib.pas, dort ist ein kleiner Anfang gemacht für Bildbearbeitung.
Die könnte man um beliebige vorhandene Delphi Codes erweitern, z.B. Kontrast erhöhen, Gamma Korrektur etc. was man halt braucht.
-
- Beiträge: 109
- Registriert: Sa 20. Dez 2008, 20:42
- OS, Lazarus, FPC: Linux (L 0.9.24)
- CPU-Target: 32Bit
- Wohnort: San Jose,CA
- Kontaktdaten:
Re: Schrifterkennung
Mein Lazarus kennt die "opbitmapformats, opbitmap"-units nicht.theo hat geschrieben:Ha, hab ich vor ein paar Minuten auch so gemacht.creed steiger hat geschrieben: Edit:
Installation als One Click Install von hier:
Funktionierende 8bit Tif's kannst du mit OPBitmap erstellen:
Code: Alles auswählen
uses opbitmapformats, opbitmap, Process procedure TForm1.Button1Click(Sender: TObject); var Op:TOPPicture; AProcess: TProcess; begin Op:=TOPPicture.Create; Op.LoadFromFile('/home/theo/ocrtest.bmp'); Op.Bitmap.PixelFormat:=pf8bit; Op.SaveToFile('/home/theo/locrtest.tif'); Op.free; AProcess := TProcess.Create(nil); AProcess.CommandLine := 'tesseract /home/theo/locrtest.tif /home/theo/proc'; AProcess.Options := AProcess.Options + [poWaitOnExit]; AProcess.Execute; AProcess.Free; if FileExists('/home/theo/proc.txt') then Memo1.Lines.LoadFromFile('/home/theo/proc.txt'); end;
Weiß jemand wo die liegt?
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Re: Schrifterkennung
Benutz doch bitte mal die suche hier...solche Kleinigkeiten sollten sich da dehr leicht lösen lassen 

Johannes
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Schrifterkennung
Die Optionen werden über ein Konfig-File übergeben.theo hat geschrieben:Das wäre wohl machbar.creed steiger hat geschrieben:eigentlich sollte man die Idee für ein Frontend weiterführen.
Man müsste halt die Tesseract Optionen studieren und evtl. im Frontend das Bild vorbereiten.
Viel mehr Docu hab ich leider nicht gefunden.
Ich werd mir das mal anschaun.
- Dateianhänge
-
TESSERACT.OPTIONS.txt
- (40.6 KiB) 184-mal heruntergeladen