前提・実現したいこと
Tesseract 4.0(OCRソフト)を使って、パソコンの画面に表示されている文字を認識するプログラムを書いているのですが、文字認識の精度がよくありません。扱っている画像は
な感じのものです。文字の部分と背景の部分の色の明るさに差があまりなく精度が落ちているのではないかと思っています。因みに、以下のような画像ですと、精度は良かったです。
背景の色を白にできれば精度があがるのではと考えていますが、可能でしょうか?
中間色なので、いろんな色が混ざっていて、色を変換するにも一筋縄でいかないような気がします。
何か良い方法はないものでしょうか?ヒントになるようなことでも、アドバイスでも構いません。よろしくお願いします。
よろしくお願いします。
該当のソースコード
ここまでに画面の画像をbmpに代入しています。 ImageFactory factory = new ImageFactory(); factory.Load(bmp); //factory = factory.Quality(70); factory = factory.Filter(MatrixFilters.GreyScale); factory = factory.Filter(MatrixFilters.BlackWhite); //factory = factory.Filter(MatrixFilters.Comic); //factory = factory.Filter(MatrixFilters.Gotham); factory = factory.Filter(MatrixFilters.HiSatch); //factory = factory.Filter(MatrixFilters.Invert); //factory = factory.Filter(MatrixFilters.Lomograph); //factory = factory.Filter(MatrixFilters.LoSatch); //factory = factory.Filter(MatrixFilters.Polaroid); //factory = factory.Filter(MatrixFilters.Sepia); //factory = factory.Filter(MatrixFilters.Invert); //factory = factory.Format(new PngFormat()); //factory = factory.DetectEdges(new Laplacian3X3EdgeFilter(), true); bmp = new Bitmap(factory.Image); このあと、bmpをファイルに保存しています。 ※ImageFactoryは、画像処理ライブラリImageProcessor.2.7.0.100のクラスです。
試したこと
上記ソースにあるように、画像処理ライブラリImageProcessor.2.7.0.100を使って、グレイスケール化、白黒化、等を試しました。
また、Tesseractの学習機能を使って学習精度を上げる方法も検討しましたが、やり方が難しく実現できていません。
環境
Microsoft Windows 10 Pro (Version 1809)
Microsoft Visual Studio Community 2017(Version 15.9.11)
Microsoft .NET Framework(Version 4.7.03190)
ImageProcessor.2.7.0.100
あなたの回答
tips
プレビュー