Tesseract.jsがinitializing APIで止まる
ロゴ
「Web 開発」に関連する記事一覧

Tesseract.jsがinitializing APIで止まる

2020/03/15
Tesseract.js JavaScript HTML 

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.0482 sec
Copyright(C)2006-2020 puarts All Rights Reserved