2014-11-04 112 views
0

我想做一个应用程序 - 从图像的车牌识别。我使用OpenCvSharp和Puma.NET。Puma.NET DLL汽车号码的识别

但是当我开始我的应用程序时,写道找不到号码。

当我使用断点 - 异常 - “识别发动机停止代码:0”

我装3的dll - dibapi.dll,puma.net.dll,puma.interop.dll。

为什么数字无法识别?

public void RecognizePlate() // 
    { 
     plateList.Clear(); 
     int i = 1; 
     foreach(var plateImage in plate) 
     { 
      plateList.Add(i.ToString()+ ") " + RunPuma(plateImage)); 
      i++; 
     } 
    } 

    string RunPuma(IplImage img) // 
    { 
     PumaPage Image = new PumaPage(img.ToBitmap()); 
     using (Image) 
     { 
      Image.FileFormat = PumaFileFormat.RtfAnsi; 
      Image.AutoRotateImage = true; 
      Image.FontSettings.DetectBold = true; 
      Image.FontSettings.DetectItalic = true; 
      Image.EnableSpeller = false; 
      Image.Language = PumaLanguage.English; 

      try 
      { 
       string s = Image.RecognizeToString(); 
       return s; 
      } 

      catch(Exception e) 
      { 
       return "This is NOT NUMBER"; 
      } 
     } 

     return "Error"; 
    }` 
+0

您可能想要为您的问题添加更多详细信息,例如发生异常的位置。它是否在Pumapage Image = new PumaPage()中崩溃,遍历代码并找出异常的确切位置。这将有助于查明问题。 – Avijeet 2014-11-04 09:48:09

+0

问题已修复。我在我的系统32中注册APuma.dll。 – 2014-11-04 10:34:08

+1

嗨,我的解决方案是在Visual Studio工作,但EXE给错误,你能帮助吗? – user3800108 2015-07-29 12:57:12

回答

0

您将需要以管理员身份重新启动Visual Studio,然后您应该可以继续工作。

0

问题是注册失败。

根据文档,apuma.dll组件应在安装过程中注册。但*.bat文件似乎是错误的,至少对我的电脑来说。

我解决了问题:

  1. 所有文件从移动到Puma.NET\COM Server\RegisterPuma.NET\COM Server
  2. 打开控制台Puma.NET\COM Server目录。
  3. 键入以下命令:regsvr32 APuma.dll

如果你得到一个注册成功的消息,乔治是你大爷!