Сообщение об ошибке: Не удалось загрузить файл или сборку openalpr-net, Version = 2.3.0.0, Culture = neutral, PublicKeyToken = null или одну из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом.Open Alpr не может загрузить свою зависимость
Но когда я запускаю alpr.exe по линии благодарности, у него нет никаких проблем.
Вот мой код:
private void CallAlpr()
{
var openFileDialog = new OpenFileDialog();
if (openFileDialog.ShowDialog() == true)
{
OpenAlpr.Output(openFileDialog.FileName);
}
Console.Read();
}
OpenAlpr класс:
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 под моей папке проекта.
Спасибо Монце, я понял это: – Franva
Приятно слышать! Повеселись. Будьте готовы внести много изменений в часть файла ini C++ - по умолчанию это может привести к неограниченному использованию памяти;) – Monza
Я не использую C++, никаких файлов ini, найденных в распакованной папке. Но спасибо за напоминание :) – Franva