ロゴ メインコンテンツへ
RSSフィード
「Web 開発」に関連する記事一覧

Tesseract.jsがinitializing APIで止まる

2020/03/15
(この記事の文字数: 423)

Tesseract.js を使用した時にはまった挙動のメモです。

Tesseract.js を使用したOCR機能を持ったWebツールを作っていたのですが、iPhoneからOCRを実行すると「initializing API 100%」から進捗が進まなくなり、recognize textのステップに進まず、そのままずっと固まるようになってしまいました。

止まりの原因を調べてみると、以下のように日本語のホワイトリストを渡していたのが原因のようでした。どうやらこの指定があるとiPhoneでは「initializing API」の後の進捗が進まなくなってしまうようです。PCからは動作するのでハード(メモリとかスペック)に依存するのかもしれません。


whitelist = "あいうえお"; // 実際は数百文字
Tesseract
    .recognize(image, {
        lang: "jpn",
        tessedit_pageseg_mode: "RAW_LINE",
        tessedit_char_whitelist: whitelist,
    })
    .progress(ocrProgressFunc)
    .then(ocrResultFunc);

英語で小さいホワイトリストを渡した時はうまく動作するので、単純に長いホワイトリストだとハードスペック次第では初期化に異常に時間がかかってしまうのかもしれません。仕方ないのでホワイトリストを空にして凌ぐことにしました。


Tesseract
    .recognize(image, {
        lang: "jpn",
        tessedit_pageseg_mode: "RAW_LINE",
        tessedit_char_whitelist: "",
    })
    .progress(ocrProgressFunc)
    .then(ocrResultFunc);

  このエントリーをはてなブックマークに追加  

<<「Web 開発」の記事一覧に戻る

コメント(0 件)



コンテンツロード: 0.008 sec
Copyright(C)2006-2024 puarts All Rights Reserved