Puma.NET DLL识别车号

时间:2014-11-04 08:54:12

标签: c# .net image-recognition opencvsharp

我想制作一个应用程序 - 从图像识别车牌。我使用OpenCvSharp和Puma.NET。

但是,当我启动我的应用程序时,写道找不到该号码。

当我使用断点时 - 异常 - "识别引擎停止使用代码:0"

我加载了三个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";
    }`

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

问题是注册失败。

根据文档,apuma.dll组件应在安装期间注册。但是*.bat文件似乎是错误的,至少在我的电脑上是这样。

我解决了问题:

  1. 将所有文件从Puma.NET\COM Server\Register移至Puma.NET\COM Server
  2. Puma.NET\COM Server目录中打开控制台。
  3. 输入此命令:regsvr32 APuma.dll
  4. 如果你收到成功的注册信息,乔治就是你的叔叔!