0

tessnet2を使用して、このimgファイルの文を抽出しています。bmpを使用してtessnet2funcを呼び出すと失敗し(文として「〜」が返されます)、代わりにbmp2を使用すると機能します。WTF、なぜですか?

FromFileを実行している理由は、サーバーから画像を取得し、ファイルに保存するのではなく、Image.FromStreamを使用して直接ロードしているためです。これら2つが異なるのはなぜですか。また、tessnet2 funcをbmp2と同じように機能させるにはどうすればよいですか?

            img = System.Drawing.Image.FromFile(imgUrl);
            var bmp = new System.Drawing.Bitmap(img);
            var bmp2 = new System.Drawing.Bitmap(imgUrl);
4

2 に答える 2

1

FromFile を呼び出す代わりに、FromStream を使用してみてください。次のようなことを試すことができます:

MemoryStream ms = new MemoryStream(File.ReadAllBytes(imgURL));
img = Image.FromStream(ms);

Image クラスはファイルをロックするのが好きで、これが tessnet2 からの不適切な読み取りを引き起こしている可能性があります。

于 2009-11-10T21:16:15.433 に答える
0

3 つのステップのそれぞれの後に、各イメージをディスクに保存することをお勧めします。つまり、3 つのファイル (img、bmp、bmp2) が作成されます。

次に、Paint.NETのようなものを使用して、ある画像を別の画像から減算します。

  • img - bmp
  • bmp - bmp2
  • bmp2-img

結果のいずれかが完全に空白の画像でない場合、3 つの手順の画像は異なります。

私はそれらが同じだとしたら、同一の画像で if を呼び出すと異なる結果が生成されるため、tessnet2ライブラリに何か問題があるとしか思えません!! 許容可能な読み取りのぎりぎりのところにある可能性があります。ライブラリをより寛容にするために設定できる設定はありますか?

于 2009-11-09T22:56:19.797 に答える