首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开放的Alpr不能加载它的依赖项。

开放的Alpr不能加载它的依赖项。
EN

Stack Overflow用户
提问于 2017-01-16 01:34:13
回答 2查看 1.6K关注 0票数 1

错误消息:无法加载文件或程序集‘openalpr、Version=2.3.0.0、Culture=neutral、PublicKeyToken=null’或其依赖项之一。尝试加载格式不正确的程序。

但是,当我按推荐行运行alpr.exe时,它没有任何问题。

这是我的代码:

代码语言:javascript
复制
    private void CallAlpr()
    {
        var openFileDialog = new OpenFileDialog();

        if (openFileDialog.ShowDialog() == true)
        {
            OpenAlpr.Output(openFileDialog.FileName);
        }

        Console.Read();
    }

OpenAlpr类:

代码语言:javascript
复制
 using ......
 using openalprnet;
 using System.Drawing;

public static List<AlprPlateResultNet> RecognizePlate(string imagePath)
        {
            var alpr = new AlprNet("en", "/openalpr_64/openalpr.conf", "/openalpr_64/runtime_data");

            if (!alpr.IsLoaded())
            {
                throw new Exception("OpenAlpr failed to load!");
            }

            alpr.DefaultRegion = "md";

            var results = alpr.Recognize(imagePath);
            return results?.Plates;
        }

        public static void Output(string imagePath)
        {
            var plates = RecognizePlate(imagePath);
            var i = 0;
            foreach (var result in plates)
            {
                Console.WriteLine("Plate {0}:{1} result(s)", i++, result.TopNPlates.Count);
                Console.WriteLine("   Processing Time: {0} msec(s)", result.ProcessingTimeMs);

                foreach (var plate in result.TopNPlates)
                {
                    Console.WriteLine("   - {0}\t Confidence: {1}\tMatches Template: {2}", 
                        plate.Characters, plate.OverallConfidence, plate.MatchesTemplate);
                }
            }
        }

我在我的项目文件夹下有一个文件夹: openalpr_64。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-17 03:23:57

通过将所有文件和文件夹从zip文件复制到Debug文件夹,并确保.config和runtime_data指向正确的路径,解决了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2017-01-16 04:07:27

在我的经验中,我只在尝试使用C# all / .EXEs时看到了这条特定的消息,这些消息并不都是32位或64位的。

检查您的项目构建没有设置为“任何CPU”(默认为64位操作系统上的64位)。

至少,检查.EXE和库.DLL的32/64位。

祝好运!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41668305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档