問題タブ [tessnet2]
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.
.net - Tessract (.NET の場合は tessnet2) - 小数点以下 2 桁以上
テーブルからデータを読み取る問題に取り組んでいます。数値が小数点以下 2 桁までの場合はすべて問題ないように見えますが、数値が小数点以下 3 桁の場合は小数点が表示されません。(5.575 を取得する代わりに、5575 を取得しています)。
https://github.com/charlesw/tesseractから tesseract 3.02 も試しましたが、読みたいソースからデータを読み取る信頼性が低いことがわかりました。そのため、古い tessnet2 を使用しています。
次の白い文字リストを使用しています: ocr.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,");
および言語パック: バージョン 2up の英語。
より正確な値を得るために何を変更すればよいかアドバイスはありますか?
ありがとう、ジャック
c# - MemoryStream から BitmapImage へ
MemoryStream
に変換するのに少し苦労していBitmapImage
ます。似たような状況で質問が多いのですが、いろいろSO
試してみたところ解決できなかったので、お世話になりました。私がMagick.NET
(ImageMagick.NET) を使用していることに注意してくださいTessnet2
。これがそのコードの一部です。
私はBitmap
クラスを使用して、Magick.NET と Tessnet2 でほとんどの作業を行います。 BitmapImage
表示目的で使用されます。
まず、PDF を読み込み、最初のページからトリミングされたビットマップを抽出します。
それは、ビットマップを .csv ファイルに保存するときMemoryStream
です。ロードしたらMemoryStream
、作業に移ります。をインスタンス化して、関連する作業にBitmap
使用できるようにしてから、インスタンス化を試みます。Tessnet2
BitmapImage
これは私が問題を抱えているところです。そのブロックがなければDisplayImage
、プログラムは正常に実行され、表示された画像が表示されません。Bitmap
( TargetImage
) を問題なくファイルに保存することもできます。ただし、DisplayImage
ブロックを使用すると、次のようになりますSystem.NullReferenceException
。
ImageStream
検査するとオブジェクトが「きれい」に見えるため、正確に発生する場所を特定することはできません。StreamSource
これにはデータが含まれており、位置は 0 です。 toとして割り当てた後、それを閉じようとするか、何かを実行しようとすると、そのようなアクションを実行しようとする行で例外が発生しますDisplayImage
。null
それが問題かどうかを確認するために、2 つの異なるストリームを作成してみました。ただし、まったく同じ動作をしていました。特定の行を指していないことを考えると、これをデバッグするのはちょっと面倒です。MemoryStream
これとの間には明らかに問題がありBitmapImage
ます。この特定の状況では、2つの間MemoryStream
に何らかのフォーマット/変換の問題がある可能性はありますか?Bitmap
ファイル ルートを試してみました。ファイルに保存してからMagickImage
ロードしたところ、問題なく動作しました。ただし、これをメモリ内で実行できるようにしたいと考えています。ちなみに、MemoryStream に position を設定しても、 (適切にロードされる) または(同じ例外)のいずれにも影響を与えないようです。BitmapImage
Uri
0
Bitmap
BitmapImage
私が現在使用している一時的な修正は、 ではなくを作成DisplayImage
することです。BitmapSource
BitmapImage
c# - Tesseract Engine を使用する Tessnet2 - 非常に悪い出力が得られるのはなぜですか?
C# で Tesseract エンジンを使用して Tessnet2 を使用しようとしています。私が Tessnet2 に与えたテスト イメージの多くは、出力が非常に悪く、ほとんど何も正しくありません。
これは、C# コンソール プロジェクト、Program.cs クラスの私のコードです。
たとえば、これはサンプル (大きなバイナリ 300 dpi) のテスト イメージ "eurotext.tif" です。
これは、このイメージの Tessnet2 出力です。
私はこの Web サイトを使用して、Tessnet2 を使用する手順を学習しています: https://code.msdn.microsoft.com/windowsdesktop/How-to-use-Tessnet2-library-716be12f
私はこのウェブサイトを使用して、SetVariable(...) 関数を正しく使用して目的を達成しようとしましたが、運が悪く、出力に大きな違いはありませんでした: http://www.sk-spell.sk.cx /tesseract-ocr-ja
エンジンのエラーを減らすための Tesseract ガイドラインを見つけました: http://code.google.com/p/tesseract-ocr/wiki/ImproveQuality
「Tesseract は、少なくとも 300 dpi の DPI を使用するテキストで最適に動作します」と表示されます。このサンプル画像は 300 dpi です
このサンプル画像もバイナリであり、さまざまな Web サイトで多くの人からアドバイスされているように、より良い出力が得られるはずです。
精度を高めることができる解決策をどこでも探しましたが、多くの投稿や同様の問題を抱えている人々を見つけましたが、有効な解決策はありませんでした.
この問題の原因は何ですか? どうすれば解決できますか?
私はこのトピックの初心者なので、解決策が簡単すぎる場合はご容赦ください。
ありがとう!
c# - DoOCR C# でアクティブなアプリケーションを閉じる
OCRについてC#でアプリケーションを開発しています。
Tessnet2 を OCR エンジンとして使用しています。コードは次のとおりです。
このコードが実行されると、アプリケーションはエラーなしですぐに閉じます。どなたかアドバイスをお願いします。ありがとう
c# - リストから値を読み取る>
C# プロジェクトに次のコードがあります。
List<List<Word>> RecognizedPlates
このコードを実行した後、I get Nothing in richTextBoxからのテキストを読むのを手伝ってもらえませんか。
c# - 最新の Tesseract 用の C# ラッパーを作成します (tessnet が行ったように)
私はしばらくの間、自分のプロジェクトに tessnet 2.0 を使用しています。しかし、最近、同僚が作成したソフトウェアを使用する必要がありました。.NET 2.0 を使用する tessnet 2.0 dll と互換性がありません。.NET 4.0 C# ラッパーを作成する方法を見つける必要があると思います。しかし、私はラッパーの知識/経験がまったくありません。
Tesseract のすべてのソース コードはhereにありますが、どのように使用すればよいでしょうか?
どこからどのように始めればよいかを調べるために、たくさんのグーグル検索を試みましたが、本当に迷っています。私は C# と C++ のコードを書くための中間的な知識を持っています。誰かが私を正しい方向に向けることができれば、それは本当に役に立ちます。ありがとうございました!
p/s: ニューラル ネットワークなどの複雑な機能は必要ありません。
編集 1: 返信ありがとうございます。私は間違いなくマルチスレッドの問題に気づいていませんでした。OCR を使用して数字を読み取るだけでよいので、Tesseract は実際に仕事を完璧に行うことができます。同僚と話し合った結果、外部で実行することにしました。どうすればそれを行うことができますか?
c# - Tessnet2 OCR: すべての文字、単語、数字のみを認識するように OCR を調整する方法は?
tessnet2 C# simple exampleで説明されているように、tessnet2 を使用しています。
しかし、英単語と数字、または英単語のみを含む画像を入力として与えると。数字のみを返します(画像に存在する数字といくつかの余分な数字)。3行目にコメントしてみましたが、数字すら認識しません。C#でtessnet2を使用して、すべての文字、単語、数字を読み取る方法を知っている人はいますか。