2014-11-04 115 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

如果你得到一個註冊成功的消息,喬治是你大爺!