Microsoft OcrEngine:识别包含中文文本内容的图像时出现异常

时间:2014-09-01 09:23:08

标签: ocr windows-phone-8.1 chinese-locale

我正在使用[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()

上面的代码与识别英文内容图像完美匹配。 有人可以给我一些建议吗?谢谢!

1 个答案:

答案 0 :(得分:2)

似乎包括简体中文和英文的资源解决了这个问题。