AGB  ·  Datenschutz  ·  Impressum  







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

TesseractOCR

Ein Thema von Hobbycoder · begonnen am 24. Jun 2025 · letzter Beitrag vom 25. Jun 2025
Antwort Antwort
Seite 1 von 2  1 2      
Hobbycoder

Registriert seit: 22. Feb 2017
1.016 Beiträge
 
#1

TesseractOCR

  Alt 24. Jun 2025, 11:27
Nutzt jemand TesseractOCR? Und kann mir weiterhelfen?

Ich finde da diverse Quellen auf Github. Ist das noch Zeitgemäß? Welche soll man nehmen?
Ich habe auch noch https://github.com/amancini/TTesseractOCR5 gefunden. Jedoch zumindest bei mir hab ich das noch nicht vernüftig zum Laufen bekommen.
Es gibt da Unklarheiten mit den notwendigen DLL's, bzw. mit den diversen Versionen.

Gibt es da evtuell andere (free oder günstig) Möglichkeiten zur Texterkennung (in meinem Fall aus Images).
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.221 Beiträge
 
Delphi 12 Athens
 
#2

AW: TesseractOCR

  Alt 24. Jun 2025, 12:28
Mein Vorschlag wäre, installier Dir Pdf24, darunter gibt es Tesseract, was hervorragend funktioniert.
So musst Du nur ein einfaches Setup installieren und hast jede Menge Mehrwert plus OCR.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.016 Beiträge
 
#3

AW: TesseractOCR

  Alt 24. Jun 2025, 12:48
Mein Vorschlag wäre, installier Dir Pdf24, darunter gibt es Tesseract, was hervorragend funktioniert.
So musst Du nur ein einfaches Setup installieren und hast jede Menge Mehrwert plus OCR.
und welche Github-Repository benutzt du?
Bei meiner schlägt's schon beim tesseract:=TTesseractOCR4.Create; in die Bresche. Und ich hab keine Ahnung was da fehlt.
Laut madExcept hier:
Delphi-Quellcode:
constructor TTesseractOCR4.Create;
begin
  if (hTesseractLib = 0) then
    raise Exception.Create('Tesseract library is not loaded');
  FTessBaseAPI := TessBaseAPICreate(); //<----- Hier
  FPageLayout := TTesseractPageLayout.Create(FTessBaseAPI);
end;
was mich zur tesseractocr.capi bringt:
  TfnTessBaseAPICreate = function: TessBaseAPI; cdecl; Was ja irgendein Aufruf in einer Dll sein dürfte. Doch da komm ich nicht weiter.

Hab auch die DLL's alle gelöscht und mir mal PDF24 installiert.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.221 Beiträge
 
Delphi 12 Athens
 
#4

AW: TesseractOCR

  Alt 24. Jun 2025, 17:03
Mein Vorschlag wäre, installier Dir Pdf24, darunter gibt es Tesseract, was hervorragend funktioniert.
So musst Du nur ein einfaches Setup installieren und hast jede Menge Mehrwert plus OCR.
und welche Github-Repository benutzt du?
Ja stimmt, sorry, ich habe gerade nochmal nachgeschaut, nutze die doch nicht direkt, sondern über das PDF24-OCR.exe
Funktioniert aber super bei mir out-of-the-box, wenn es nur um das OCR'en geht.

Delphi-Quellcode:
@echo off

set path_caller=%~dp0
set par_in=%1

REM Ignore and remove the known file extension from the path
set "file_in_plain=%1"

REM Check, ob die Datei eine bekannte Endung hat
for %%E in (.pdf .jpg .png) do (
    if /i "%file_in_plain:~-4%"=="%%E" (
        set "file_in_plain=%file_in_plain:~0,-4%"
    )
)

set file_in=%file_in_plain%.pdf
set file_out=%file_in_plain%_ocred.pdf

set path_pdf24=C:\Program Files\PDF24\
set pdf24_ocr="%path_pdf24%pdf24-Ocr.exe"

echo .
echo . Input %1
echo . Input = %file_in%
echo . Output = %file_out%
echo .
echo . OCR the %file_in% to %file_out%
echo .

pause

rem pdf24-Ocr.exe.lnk
rem "pdf24-Ocr.exe.lnk" -outputFile "sichtkopie188806433_Test001_V05_ocred.pdf" -dpi 300 -deskew -autoRotatePages "sichtkopie188806433_Test001_V05.pdf "


%pdf24_ocr% -outputFile "%path_caller%%file_out%" -dpi 300 -deskew -autoRotatePages "%path_caller%%file_in%"

Ansonsten habe ich viele Versuche mit Python tesseract eingebunden, da gibt es verschiedene Ansätze, das ist aber viel mehr gefrickel, nur um eine Datei zu OCR'en.
Die scheinen mehr oder weniger alle auf UB Mannheim Tesseract zu basieren.
https://github.com/UB-Mannheim/Tesseract

Dann würde ich aber doch lieber gleich aud Docling umsteigen
https://pypi.org/project/docling/
Das lässt Dir über Python alle Möglichkeiten, bietet aber gleichzeitig auch eine CLI als "Kommandozeile" und kann außer verschiedenen OCR noch viel viel mehr.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.016 Beiträge
 
#5

AW: TesseractOCR

  Alt 24. Jun 2025, 21:13
Zwischendurch hab ich noch das hier:
https://ocr.space/OCRAPI
gefunden.
Funktioniert gut, kann jedoch in der Free-Variante keine Files > 1 MB übertragen, dazu kommt die Laufzeit, und dass sie in der Free keine 24/7-Funktionalität garantieren.
Und, auch wenn sie schreiben, dass sie nichts speichern, so möchte ich doch ungern möglicherweise mal kritische Daten durchs Internet jagen.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.221 Beiträge
 
Delphi 12 Athens
 
#6

AW: TesseractOCR

  Alt 25. Jun 2025, 06:55
Zwischendurch hab ich noch das hier:
https://ocr.space/OCRAPI
gefunden.
Wenn solche Cloud-Systeme auch interessant für dich sind, dann auch vielleicht das Stirling-Projekt.
https://stirlingpdf.io/?lang=de_DE
https://www.stirlingpdf.com/
https://github.com/Stirling-Tools/Stirling-PDF

Das läuft (lief) auch 100% lokal, anscheinend haben die aber was "monetarisiert" und es geht vielleicht nicht mehr so ohne weiteres.
Die Lizenzbedingungen hab ich gerade aktuell nicht gecheckt.


Und das könnte auch interessant sein
https://winstall.app/apps/UB-Mannheim.TesseractOCR
https://joefinapps.com/2024/03/13/ho...cr-in-windows/
https://joefinapps.com/2024/09/14/ho...-in-text-grab/
https://github.com/TheJoeFin/Text-Grab
https://github.com/ocrmypdf/OCRmyPDF
https://github.com/naptha/tesseract....23installation

Geändert von Rollo62 (25. Jun 2025 um 07:04 Uhr)
  Mit Zitat antworten Zitat
hanvas

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

AW: TesseractOCR

  Alt 24. Jun 2025, 13:07
Nutzt jemand TesseractOCR? Und kann mir weiterhelfen?

Ich finde da diverse Quellen auf Github. Ist das noch Zeitgemäß? Welche soll man nehmen?
Ich habe auch noch https://github.com/amancini/TTesseractOCR5 gefunden. Jedoch zumindest bei mir hab ich das noch nicht vernüftig zum Laufen bekommen.
Es gibt da Unklarheiten mit den notwendigen DLL's, bzw. mit den diversen Versionen.

Gibt es da evtuell andere (free oder günstig) Möglichkeiten zur Texterkennung (in meinem Fall aus Images).
Du musst natürlich Tesseract in der richtigen Version installiert haben. Die verschiedenen Versionen findest du als Binaries unter https://github.com/UB-Mannheim/tesseract/wiki mit dem von Dir verwendeten Bindings dementsprechend Version 5. Den Pfad zur Tesseract Installation mit der Datei libtesseract must du wahrscheinlich mit der Funktion InitTesseractLib(const aDllPath:String) in der Unit tesseractocr.capi.pas angeben.

ImageEN bzw. IEVision für ImageEn verwendet ebenfalls Tesseract, ist aber komerziell.

hth Ha-Joe
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.016 Beiträge
 
#8

AW: TesseractOCR

  Alt 24. Jun 2025, 13:55
Du musst natürlich Tesseract in der richtigen Version installiert haben. Die verschiedenen Versionen findest du als Binaries unter https://github.com/UB-Mannheim/tesseract/wiki mit dem von Dir verwendeten Bindings dementsprechend Version 5. Den Pfad zur Tesseract Installation mit der Datei libtesseract must du wahrscheinlich mit der Funktion InitTesseractLib(const aDllPath:String) in der Unit tesseractocr.capi.pas angeben.
Das ist ja das Problem. Bei UB-Mannheim gibt's ja jede Menge Versionen. Da mein Programm 32-Bit hat benötige ich die 32-Bit-Tresseractversion. Aber in den Repositories zu den Delphiwrappern finde ich nicht wirklich einen Hinweiß, welche Version ich von UB-Mannheim denn nehmen soll. Teilweise sind die Repositories ja auch schon mehrere Jahre alt. Ich nehme auch mal an, dass sich in den Version von UB-Mannheim ja auch die DLL-Version verändern, so dass es dann zu o.g. Fehler kommen kann.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
hanvas

Registriert seit: 28. Okt 2010
177 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: TesseractOCR

  Alt 25. Jun 2025, 00:11
Das ist ja das Problem. Bei UB-Mannheim gibt's ja jede Menge Versionen. Da mein Programm 32-Bit hat benötige ich die 32-Bit-Tresseractversion. Aber in den Repositories zu den Delphiwrappern finde ich nicht wirklich einen Hinweiß, welche Version ich von UB-Mannheim denn nehmen soll. Teilweise sind die Repositories ja auch schon mehrere Jahre alt. Ich nehme auch mal an, dass sich in den Version von UB-Mannheim ja auch die DLL-Version verändern, so dass es dann zu o.g. Fehler kommen kann.
Bei dem ersten von Dir genannten Repositary https://github.com/amancini/TTesseractOCR5 sollte eigentlich https://digi.bib.uni-mannheim.de/tes...0.20190526.exe funktionieren. Eigentlich sollte auch jede spätere Version funktionieren soweit es keine breaking changes gab, aber für die neuesten Versionen gibt es keine 32 Bit Version. Für https://github.com/r1me/TTesseractOCR4 brauchst Du die Version 4. In einem weiteren Posting hast Du geschrieben :


Zitat:
constructor TTesseractOCR4.Create;
begin
if (hTesseractLib = 0) then
raise Exception.Create('Tesseract library is not loaded');
FTessBaseAPI := TessBaseAPICreate(); //<----- Hier
FPageLayout := TTesseractPageLayout.Create(FTessBaseAPI);
end;
Was mich verwundert zurücklässt. Denn mit dem Repositary https://github.com/amancini/TTesseractOCR5 sollte es diese Constructor nicht geben bzw. er sollte TTesseractOCR5 heißen.

cu Ha-Jo
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.016 Beiträge
 
#10

AW: TesseractOCR

  Alt 25. Jun 2025, 08:12
Was mich verwundert zurücklässt. Denn mit dem Repositary https://github.com/amancini/TTesseractOCR5 sollte es diese Constructor nicht geben bzw. er sollte TTesseractOCR5 heißen.
Zu Recht. Was aber daran lag, dass ich mit TesseractOCR5 angefangen habe, dort eben Probleme hatte, und dann das erst mal mit TesseractOCR4 probieren wollte.

Aber auch in TesseractOCR5 kam es zu diesem Fehler an dieser Stelle:
Delphi-Quellcode:
constructor TTesseractOCR5.Create(const aDllPath:String);
begin
  if (hTesseractLib = 0) then
  begin
    InitTesseractLib(aDllPath);
    if (hTesseractLib = 0) then
      raise Exception.Create('Tesseract library is not loaded');
  end;

  if hLeptonicaLib = 0 then
  begin
    InitLeptonicaLib(aDllPath);
    if (hLeptonicaLib = 0) then
      raise Exception.Create('Leptonica library is not loaded');
  end;
  
  FTessBaseAPI := TessBaseAPICreate(); //<-----Hier
  FPageLayout := TTesseractPageLayout.Create(FTessBaseAPI);
end;
Ich werde das jetzt noch mal mit der Version probieren, die du gepostet hast.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21: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