两个深度学习OCR字符识别示例在识别字符均报错
1、CNNOCRTool.Run(); 报错 ErrorCode:0x10205010 模型在VM里同样使用没有问题
try
{
//此示例程序为字符定位+字符识别的组合示例
//字符定位算子定位文本的位置作为字符识别算子的输入
//字符识别算子识别文本
//创建图像实例,用于加载输入图像
CMvdImage inputImage = new CMvdImage();
//根据文件名初始化图像
inputImage.InitImage("ocr_test.bmp");
if (inputImage.PixelFormat != MVD_PIXEL_FORMAT.MVD_PIXEL_MONO_08)
{
Console.WriteLine("Only mono8 supported in current program. So the pixel format will be converted.\n");
inputImage.ConvertImagePixelFormat(MVD_PIXEL_FORMAT.MVD_PIXEL_MONO_08);
}
//可选项:设置感兴趣区域,支持设置ROI和RegionImage,未设置的情况下默认使用全区
//创建矩形实例,用于设置ROI
CMvdRectangleF rect = new CMvdRectangleF(inputImage.Width/2f, inputImage.Height/2, inputImage.Width, inputImage.Height);
//创建字符定位实例
CNNCharDetectTool charDetectTool = new CNNCharDetectTool(MVD_ALGORITHM_PLATFORM_TYPE.MVD_ALGORITHM_PLATFORM_CPU);
//设置输入图像及ROI
charDetectTool.InputImage = inputImage;
charDetectTool.ROI = rect;
//加载字符定位模型文件
charDetectTool.BasicParam.LoadModel("textdetect.bin");
//创建字符识别实例
CNNOCRTool ocrTool = new CNNOCRTool(MVD_ALGORITHM_PLATFORM_TYPE.MVD_ALGORITHM_PLATFORM_CPU);
//设置输入图像
ocrTool.InputImage = inputImage;
//加载字符识别模型文件
ocrTool.BasicParam.LoadModel(@"C:\Program Files (x86)\MVDAlgorithmSDK\Samples\CSharp\BasicSamples\MVD_DeepLearning\CNNOCRCsDemo\bin\AnyCpu\Debug\mvb_ocr.bin");
//执行字符识别算子
charDetectTool.Run();
//获取字符定位结果,执行字符识别算法
foreach (var item in charDetectTool.Result.PredInfoList)
{
Console.WriteLine("Confidence:{0:#0.000}.", item.Confidence);
Console.WriteLine("ObjBox: Center:({0:#0.000},{1:#0.000}),Width:{2:#0.000},Height:{3:#0.000},Angle:{4:#0.000}.", item.TextBox.CenterX, item.TextBox.CenterY, item.TextBox.Width, item.TextBox.Height, item.TextBox.Angle);
//将字符定位输出的文本框设置给字符识别算子
ocrTool.ROI = item.TextBox;
//执行字符识别算法
ocrTool.Run();
Console.WriteLine("OCR Total Confidence:{0}.", ocrTool.Result.TotalConfidence);
if (ocrTool.Result.RecogInfoList.Count > 0)
{
Console.WriteLine("OCR Top 1 Recognized String:{0}\r\n", ocrTool.Result.RecogInfoList[0].RecogString);
}
}
Console.WriteLine("Running finish.");
}
catch (MvdException ex)
{
Console.WriteLine("Running fail,ErrorCode:0x{0}", ex.ErrorCode.ToString("X"));
}
catch (System.Exception ex)
{
Console.WriteLine("Running fail,ErrorMessage:{0}", ex.Message);
}
2、CNNCharRecogTool.Run() 报错 ErrorCode:0x10000011 模型在VM里同样使用没有问题