一、为什么我安装的emgucv的bin文件夹下很多DLL都没有
3.0以上的版本的找不到的dll都合并到了Emgu.CV.World.dll里去了,只要引用这个DLL就可以了。
二、Emgu.CV.CvInvoke的类型初始值设定项引发异常
把Emgu的bin目录下的x64和x86文件夹复制到debug目录下
bin文件夹下没有的可以看看libs文件夹下有没有

三、 “无法加载 DLL“cvextern”: 找不到指定的程序”
将Emgu安装文件下(64位)C:\Emgu\emgucv-windesktop 3.3.0.2824\bin\x64下的cvextern.Dll复制到Winform项目Debug文件夹下

四、Emgu.CV.OCR Unable to create ocr model using Path and language
Tesseract xx = new Tesseract();
xx.Init(@"", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY);//这里报错Unable to create ocr model using Path and language
看官方解释地址格式是tessdata文件夹的父文件夹,且必须以右斜杠结束
这里文件地址的搜索有两种方式,一种是有环境变量时,只找环境变量下的,一种是无环境变量的用指定的。
****检查环境变量:TESSDATA_PREFIX D:\Program Files\Tesseract-OCR\(我的就是有这个环境变量,但是里面没有放tessdata及文件)
1 、如果有,则里面拷贝tessdata文件夹及内容到环境变量指定的文件夹(D:\Program Files\Tesseract-OCR\下),上面代码就可以正常
2、如果没有,则需要指定地址,可以下面方式指定
2.1、如代码地址为空,则需要将tessdata拷贝到Bin\Debug目录下(程序运行目录)。
2.1、如代码地址 xx.Init(@"F:\EmguOcrData\", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY); ,则需要将tessdata拷贝到F:\EmguOcrData目录里面。(注意地址中的最后一个右斜杠不能少)
---------------------
版权声明:本文为优快云博主「jzdzhiyun」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/jzdzhiyun/article/details/9003478
五、Emgu.CV 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
第四个问题说的tessdata文件夹里应该有训练包,出现这个问题可能是训练包版本和Tesseract版本不一致,换个训练包解决。

本文介绍了在使用EmguCV过程中遇到的一些问题及其解决办法,包括DLL缺失、CvInvoke异常、cvextern.DLL加载失败、OCR模型创建失败以及读写受保护内存的问题。解决方案涉及DLL的引用、环境变量配置和文件路径正确设置。
328

被折叠的 条评论
为什么被折叠?



