一、爲什麼我安裝的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目錄裏面。(注意地址中的最後一個右斜槓不能少)
---------------------
版權聲明:本文爲CSDN博主「jzdzhiyun」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/jzdzhiyun/article/details/9003478
五、Emgu.CV 嘗試讀取或寫入受保護的內存。這通常指示其他內存已損壞
第四個問題說的tessdata文件夾裏應該有訓練包,出現這個問題可能是訓練包版本和Tesseract版本不一致,換個訓練包解決。