我正在使用[WindowsPreview.Media.Ocr]开发一个关于OCR的Windows Phone 8.1应用程序(不是silverlight)。 我用中文ocr资源文件替换了默认的OCR资源文件。
这是我的代码,在构造函数中:
ocrEngine = new OcrEngine(OcrLanguage.ChineseSimplified);
然后加载带有中文文本内容的测试图像:
private async Task LoadImage()
{
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("TestImages\\Test4.png");
ImageProperties imgProp = await file.Properties.GetImagePropertiesAsync();
using (var imgStream = await file.OpenAsync(FileAccessMode.Read))
{
bitmap = new WriteableBitmap((int)imgProp.Width, (int)imgProp.Height);
bitmap.SetSource(imgStream);
PreviewImage.Source = bitmap;
}
}
并开始:
await ocrEngine.RecognizeAsync((uint)bitmap.PixelHeight, (uint)bitmap.PixelWidth, bitmap.PixelBuffer.ToArray());
在这一行,抛出异常:System.NullReferenceException:对象引用未设置为对象的实例。
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at OCRImgReadText.MainPage.<ExtractText_Click>d__f.MoveNext()
上面的代码与识别英文内容图像完美匹配。 有人可以给我一些建议吗?谢谢!
答案 0 :(得分:2)
似乎包括简体中文和英文的资源解决了这个问题。