Tesseract OCRを使いたい


ウォレス  2024-10-11 19:51:50  No: 151631  IP: [192.*.*.*]

DEKOさんが書かれているこの記事をもとにTesseract OCR を使いたいのです
https://qiita.com/ht_deko/items/98b4fee72869c809cbec
記事の通りに1~4まで行うとばっちり動きます。
ですがビルド構成をDebugにすると途端に言語データ読み込みで失敗します。
なぜだかお分かりの方はいらっしゃいますか?指南のほどよろしくお願いいたします。

編集    削除
AAAAA  2024-10-12 08:12:17  No: 151632  IP: [192.*.*.*]

最適化

本文には日本語 (ひらがな) を含めてください (スパム防止用)

編集    削除
mam  2024-10-17 15:07:29  No: 151640  IP: [192.*.*.*]

外していたらすいません。

①tesseractocr.capi.pas
176~177行目の定義が間違っているような気がします
  TfnTessBaseAPIInit2 = function(handle: TessBaseAPI; const datapath: PUTF8Char;
    const language: PUTF8Char; oem: TessOcrEngineMode): int; cdecl;
         ↓
  TfnTessBaseAPIInit2 = function(handle: TessBaseAPI; const datapath: PUTF8Char;
    const language: PUTF8Char; oem: int): int; cdecl;

②tesseractocr.pas
197~198行目 上記に伴い以下のように変更が必要かもです
  Result := TessBaseAPIInit2(FTessBaseAPI, PUTF8Char(UTF8Encode(FDataPath)),
    PUTF8Char(UTF8Encode(ALanguage)), TessOcrEngineMode(AEngineMode)) = 0;
         ↓
    Result := TessBaseAPIInit2(FTessBaseAPI, PUTF8Char(AnsiString(FDataPath)),
      PUTF8Char(AnsiString(ALanguage)), Int(Ord(AEngineMode))) = 0;

上記①②によりDegubモードでも動作しましたが、
「Release」と「Debug」で動きが違うように感じます。

他にも
pvt.cppan.demo.google.tesseract.libtesseract-master.dll
のエクスポートされた関数の定義が違う箇所が有るのかもしれません。

編集    削除