这个方法的确比我的更快, 更好. 先多谢.
然而..
为什么我又要说然而....
我都快疯了
对于附件的图片1
Advantage Engin 识别出来的是 "angyangy104"
Professional Engin 识别出来的是 "an.an.104"
---------------------------------------------------------------------------------------------------------------
识别代码如下:
public string Read(System.IO.MemoryStream img)
{
// Create an OCR document
using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
{
// Add a page to the document
img.Position = 0;
IOcrPage ocrPage = ocrDocument.Pages.AddPage(img, null);
ocrPage.Recognize(null);
// 这里是版主教的新方法
string rsl = "";
IOcrPageCharacters chars = ocrPage.GetRecognizedCharacters();
if (chars.Count > 0) // 因为我的字符只有一行, 所以不遍历所有
{
foreach (OcrWord words in chars[0].GetWords())
rsl += words.Value;
}
return rsl;
/* // 这里是以前存为Document的方法
System.IO.MemoryStream stream = new System.IO.MemoryStream();
ocrDocument.Save(stream, DocumentFormat.Text, null);
byte[] buff = stream.ToArray();
string rsl = System.Text.Encoding.Default.GetString(buff);
return rsl;
*/
}
}
|