#c# #ocr #tesseract
Вопрос:
Исключение создается для приложения, в котором я хочу реализовать распознавание текста, но когда я пытаюсь создать новое приложение с тем же кодом, оно работает безупречно. Я боюсь переделать всю работу, которую я сделал только для Тессеракта.
private void button1_Click(object sender, EventArgs e)
{
using (OpenFileDialog dlg = new OpenFileDialog())
{
dlg.Title = "Open Image";
if (dlg.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = new Bitmap(dlg.FileName);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
Bitmap img = new Bitmap(pictureBox1.Image);
TesseractEngine engine = new TesseractEngine("./tessdata", "eng", EngineMode.Default);
Page page = engine.Process(img, PageSegMode.Auto);
string result = page.GetText();
textBox1.Text = resu<
}
This exception was originally thrown at this call stack:
System.IO.Path.NormalizePath(string, bool, int, bool) in path.cs
System.IO.Path.InternalGetDirectoryName(string) in path.cs
InteropDotNet.LibraryLoader.CheckExecutingAssemblyDomain(string, string)
InteropDotNet.LibraryLoader.LoadLibrary(string, string)
InteropRuntimeImplementer.LeptonicaApiSignaturesInstance.LeptonicaApiSignaturesImplementation.LeptonicaApiSignaturesImplementation(InteropDotNet.LibraryLoader)
Продолжает вызывать это исключение, я попробовал его на свежих Winforms, и он работает, но он не работает над проектом, который у меня есть.
Комментарии:
1.Возникла аналогичная проблема. Мое происходит, когда я публикую исполняемый файл, запуск в выпуске или отладке работает нормально. Мой стек вызовов-это:
at System.IO.Path.Combine(String , String )
at InteropDotNet.LibraryLoader.InternalLoadLibrary(String baseDirectory, String platformName, String fileName)
at InteropDotNet.LibraryLoader.CheckExecutingAssemblyDomain(String fileName, String platformName)
at InteropDotNet.LibraryLoader.LoadLibrary(String fileName, String platformName)
at InteropRuntimeImplementer.LeptonicaApiSignaturesInstance.LeptonicaApiSignaturesImplementation..ctor(LibraryLoader loader)
Ответ №1:
На самом деле я только что создал новый, все переделал, и он работает безупречно. Но если кто-нибудь все еще может сказать мне, что не так с описанной выше проблемой, это было бы большой помощью.