問題タブ [tess4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tesseract - Tesseract を強制的にパターンに一致させる (4 桁連続)
特定のパターンのみに一致するように (Tess4J ラッパーを使用して) Tesseract を取得しようとしています。パターンは 4 桁の数字で、\d\d\d\d になると思います。これは、私がtesseractに供給している画像の非常に小さなサブセットです(フロアプランは制限されているため、もっと多くを投稿するように注意しています):http://mike724.com/view/a06771
次のJavaコードを使用しています:
私が直面している問題は、tesseract がこれらの構成オプションを尊重していないように見えることです。結果にはまだテキスト/単語が含まれています。部屋番号 (例: 2950) のみを取得する予定です。
java - Tesseract(Java)でユーザーワードを使用するには?
私は OCR の目的で Tesseract を使用しており、「fin.user-words」にいくつかの単語を追加しました (新しい単語リストを作成してtessdata/fin.word-dawgを置き換えることは避けたいと思います)。さて、コマンドプロンプトで成功しました:
TestConfig ( .../tessdata/configsの下にある Tesseract 構成ファイル) は、システム ディクショナリを抑制し、Tesseract に私の単語を強制的にロードさせます。
Javaでコマンドラインの上記の手順を複製しようとしていますが、Tesseractは構成オプションを無視しているようです。私が使用しているJavaコードの一部は次のとおりです。
以下は、私が見つけた最も近い質問です。ただし、setConfigsメソッドが見つかりませんでした:
java - 入力ストリームを取得できません
tess4j ライブラリを使用しようとしていますが、エラーが発生し続けます。
java.lang.UnsatisfiedLinkError: ライブラリ 'tesseract' をロードできません: com.sun の com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:271) で linux-x86-64/libtesseract.so の InputStream を取得できません.jna.NativeLibrary.getInstance(NativeLibrary.java:398) com.sun.jna.Library$Handler.(Library.java:147) com.sun.jna.Native.loadLibrary(Native.java:412) com .sun.jna.Native.loadLibrary(Native.java:391) (net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance) (未知のソース) (net.sourceforge.tess4j.TessAPI) (未知のソース) (net.sourceforge.tess4j) .Tesseract.init(不明なソース) at net.sourceforge.tess4j.Tesseract.doOCR(不明なソース) at net.sourceforge.tess4j.Tesseract.doOCR(不明なソース) at net.sourceforge.tess4j.Tesseract.doOCR(不明なソース)で
tesseract.so 実行可能ファイルを JAR にパッケージ化しようとしています。ここで例を見ました: http://tess4j.sourceforge.net/tutorial/そして、それをビルドパスに入れることができることを示唆しているようです。どんな助けでも大歓迎です。32 ビットと 64 ビットの JRE に対してビルドしてみました。
java - Linux用のtess4j UnsatisfiedLinkError
ocr プロセスを処理するために、tess4J API を使用しています。プロジェクトをWindowsに正常に展開しましたが、そのプロジェクトをLinux ubuntuで実行するのに行き詰まりました。私の調査によると、Linux では .dll ファイルの代わりに .so ファイルを使用する必要があります。私の単純なコードスニペットは最愛のように見えます
Linux OS用のtessdataフォルダーがあり、それをクラスパスに入れ、いくつかの.soファイルもクラスパスのフォルダーに入れます。eglinux-x86v フォルダー。
私のprintstacktraceは次のとおりです..
Linuxプラットフォームでtess4j apiを実行する方法と、.soまたは.dllのいずれかでtess4j apiを実行するために必要なファイルの種類に関する解決策を提案してください。その助けをいただければ幸いです。ありがとうございます。
java - Tesseract (tess4j) を使用した OCR の画像前処理の次のステップ
私は Tesseract を使用して一連の画像内のいくつかの数字を識別しようとしてきましたが、アドバイスを求めて精査した後、多くの改善を行いました。これまでのところ、次の手順を試みました。
- 数値を選択するために適切なしきい値で画像を 2 値化します
- Tesseract を数字のみに制限する
- さまざまなアプローチを使用して画像をアップスケールします (Image.SCALE_SMOOTH を使用した getScaledInstance、AffineTransformOp.TYPE_BICUBIC を使用した AffineTransform)。
- さまざまな Tesseract ページ セグメンテーション モードを調べます。現在モード 6 を使用しています。
数字はすべて同一の形状で、完全に整列していますが、エッジは多少ギザギザになっています。処理された画像の例:
Tesseract はこれらを問題なく処理しますが、8 を 3、6 を 5、9 を 5 と混同することがよくあります。
画像を滑らかにするさまざまな方法を少し調べて、さまざまなスケールを試してみましたが、Tesseract をトレーニングするプロセスを実行する方が理にかなっているのかどうかも疑問に思っています。常にほとんど同じである可能性のある値は 10 個しかないため、それらを認識することを学習するのはそれほど難しくないように思われますが、Tesseract のトレーニングも非常に苦痛のように思えます。
これらの画像で Tesseract から最終的な精度を得る方法について何か提案はありますか?
私は tess4j と Java を使用しているので、Java 固有の提案とライブラリは特に高く評価されます。自分でアルゴリズムを実装したいとは思っていますが、車輪の再発明はしたくありません。
java - Tessseract / Java を使用した 7 セグメントのデジタル データ認識
tess4Jを使用して、画像から7 セグメントのデジタルテキストを認識しようとしています。
私の入力はここにあります
次のようにいくつかの正規化を行いました
1] 画像はトリミングされています。
2 ]バイナリに変換しました
画像からテキストのギザギザのエッジを削除したいのですが、どうすればそれを達成できますか?
GitHub から別の訓練されたデータを試しました。しかし、私が望むように何も機能しません。
トレーニング済みデータを手動で作成するには? .
私はあなたの素晴らしい提案を待っています & 事前に感謝します. . . .
tesseract - 単一の tess4j インスタンスの同時スレッド アクセス中の NPE
私はTesseract 3.0.2で作業しており、1.4.1 tess4jを使用しています..これはスレッドセーフな方法で動作していません.NPEが発生します. グリズリー/ジェザリー/スプリングを使用しています。
... ..
... ... ...
... ... ...
linux - Ubuntu Linux 上の Tess4J、UnsatisfiedLinkError
Tomcat + Ubuntu(Linux)でTess4jを使用してUnsatisfiedLinkErrorを取得しています
ライブラリは apt-get install tesseract-ocr でインストールされます。Tess4j のバージョンは 2.0.0 です。MacOS/OracleJDK1.7 (64 ビット) ではすべて動作するようですが、Ubuntu/Linux/OracleJDK1.7 (64 ビット) では動作しないようです。
一部のstackoverflow-searchは、間違ったバージョンまたは存在しないライブラリについての手がかりを提供しますが、ライブラリはすぐそこにあります...
解決策やヒントを持っている人はいますか?