Unable to load DLL 'opencv_core290'

问题:

In my winforms application I need to use some Emgu.CV libraries (I have installed Emgu 2.9).

Problem is that I get the following error:

System.TypeInitializationException was unhandled
     HResult=-2146233036Message=The type initializer for'Emgu.CV.OCR.Tesseract' threw an exception.Source=Emgu.CV.OCR
     TypeName=Emgu.CV.OCR.TesseractStackTrace:
         at Emgu.CV.OCR.Tesseract..ctor(String dataPath,String language,OcrEngineMode mode)
         at ANPR.LicensePlateDetector..ctor(String dataPath)in c:\Users\blabla\Visual Studio2012\Projects\ANPR\ANPR\LicensePlateDetector.cs:line 30
         at ANPR.Form1..ctor()in c:\Users\blabla\Visual Studio2012\Projects\ANPR\ANPR\Form1.cs:line 22InnerException:System.TypeInitializationExceptionHResult=-2146233036Message=The type initializer for'Emgu.CV.CvInvoke' threw an exception.Source=Emgu.CV
   TypeName=Emgu.CV.CvInvokeStackTrace:
        at Emgu.CV.CvInvoke.CV_MAKETYPE(Int32 depth,Int32 cn)
        at Emgu.CV.OCR.Tesseract..cctor()in c:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922\Emgu.CV.OCR\Tesseract.cs:line 26InnerException:System.DllNotFoundExceptionHResult=-2146233052Message=Unable to load DLL 'opencv_core290':The specified module could not be found.(Exceptionfrom HRESULT:0x8007007E)Source=Emgu.CV
        TypeName=""StackTrace:
             at Emgu.CV.CvInvoke.cvRedirectError(CvErrorCallback errorHandler,IntPtr userdata,IntPtr prevUserdata)
             at Emgu.CV.CvInvoke..cctor()in c:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922\Emgu.CV\PInvoke\CvInvoke.cs:line 266

This happens when trying to instantiate a new Tesseract object:

var tesseract =newTesseract("","eng",Tesseract.OcrEngineMode.OEM_TESSERACT_CUBE_COMBINED);

Since referencing "opencv_core290" does not work, I tried the workaround provided here. Basically, I copied the .dll to my project, added it by using "Add existing resource" and modified it's property to "Copy always". This did not work however. Thanks for any help!

 

解决方法:

I had this problem too. You should copy x86 and x64 folders from "yourEmguFolder/bin" to your project's output directory. Then build project again and run.

I solved it according to the description on this page EMGU WIKI

posted @   遥望星空  阅读(2746)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示