我正在使用tessnet2来提取此img文件中的句子。当我使用bmp调用tessnet2函数时它会失败(它会返回“〜”作为我的句子)而当我使用bmp2时它会起作用。 WTF,为什么?
我正在做FromFile的原因是因为我从我的服务器抓取图像并使用Image.FromStream直接加载而不是保存到文件。为什么这两个不同,我该怎么做才能让tessnet2 func像bmp2一样工作?
img = System.Drawing.Image.FromFile(imgUrl);
var bmp = new System.Drawing.Bitmap(img);
var bmp2 = new System.Drawing.Bitmap(imgUrl);
答案 0 :(得分:1)
不要调用FromFile,而是尝试使用FromStream。你可以尝试这样的事情:
MemoryStream ms = new MemoryStream(File.ReadAllBytes(imgURL));
img = Image.FromStream(ms);
Image类喜欢锁定文件,这可能是导致tessnet2读取错误的原因。
答案 1 :(得分:0)
我建议在每个步骤之后将每个图像保存到磁盘。所以你最终会得到3个文件(img,bmp& bmp2)。
然后使用Paint.NET之类的东西从另一个图像中减去1个图像:
如果任何结果不是完全空白的图像,则3个步骤中的图像是不同的。
我他们是一样的然后我只能认为tessnet2库有问题,因为当你在相同的图像上调用时会产生不同的结果!!它是否处于可接受读取的最边缘,是否可以在库中设置任何设置以使其更容忍?