emgucv踩過的坑

 

一、爲什麼我安裝的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版本不一致,換個訓練包解決。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章