注意: opencv和open_contrib包的版本號要一致(好比都是3.4.0)html
Tesseract源碼安裝參考: win10 vs2015源碼編譯tesseract4.0c++
分別指定源碼包(source code)存放位置, 編譯過程當中產生的二進制(build the binaries)文件存放位置, 而後點擊"Configure", 指定對應版本的編譯器, 例如Visual Studio 14 2015 Win64,即便用vs2015生成x64解決方案,[「Visual Studio 14 2015」生成x86解決方案]。 而後點擊"Finish"。 第一次配置完成後,會出現不少紅色提示,以下圖:git
須要修改對應的配置後 點擊Configure, 反覆Configure直至紅色徹底消失,而後點擊"Generate" 便可生成對應的解決方案。github
點擊configure後必定要保證Tesseract爲YES, 以下圖:ide
不然在編譯完end_to_end_recognition.cpp後,在運行時出現以下提示。post
OCRTesseract(00): Tesseract not found.
起初的幾回編譯怎麼都找不到Tesseract單元測試
後來經過opencv_contrib\modules\text下的CMakeLists.txt測試
以及opencv_contrib\modules\text\cmake 下的FindTesseract.cmakeui
發現LEPT_LIBRARY沒有找到對應的配置url
打開OpenCV.sln, 選擇」Release"模式,選擇"生成"->"生成解決方案"
編譯成功後 可選擇進行安裝
而後選擇"Debug"模式,重複上面操做。
再將生成的opencv_world340d.dll、opencv_img_hash340d.dll拷貝到安裝目錄下的x64\vc14\bin中
opencv_world340d.lib、opencv_img_hash340d.lib拷貝到安裝目錄下的x64\vc14\lib中。
opencv的安裝目錄爲 C:/opencv
爲了保證程序在運行時可以訪問到opencv_world340.dll或者opencv_world340d.dll
須要在環境變量PATH中添加
C:\opencv\build\x64\vc14\bin
1) 打開vs2015, 新建win32項目, 勾選」空項目", 取消"安裝開發生命週期檢查"
2) 「右擊」對應的項目>選擇「屬性"
3) 選擇"Vc++目錄", 點擊」包含目錄", 「編輯", 添加
C:\opencv\build\include\
C:\opencv\build\include\opencv
C:\opencv\build\include\opencv2
4) 點擊"庫目錄", 」編輯", 添加:
C:\opencv\build\x64\vc14\lib
5) 選擇"連接器"->"輸入",
relase模式添加:
opencv_world340.lib
debug模式添加:
opencv_world340d.lib
6) 效果以下圖:
7)
測試程序1:
#include <opencv2/opencv.hpp> #include <string> using namespace cv; using namespace std; int main() { Mat im = imread("lena.jpg"); // lena.jpg和test1.cpp在同一個目錄下 namedWindow("Picture"); imshow("Picture", im); waitKey(0); destroyWindow("Picture"); return 0; }
測試結果: test1.cpp在X64 DEBUG和RELEASE模式下都能經過
測試程序2):
測試用到的文件end_to_end_recognition.cpp、scenetext01.jpg、trained_classifierNM1.xml、trained_classifierNM2.xml都位於opencv_contrib源碼包目錄下的modules\text\samples中
爲了測試方便,右擊項目屬性,設置命令行參數
將scenetext01.jpg、trained_classifierNM1.xml、trained_classifierNM2.xml複製到與end_to_end_recognition.cpp相同目錄下,運行便可。
若是使用命令行運行程序,則須要將scenetext01.jpg、trained_classifierNM1.xml、trained_classifierNM2.xml 複製到可執行程序所在目錄
效果:
測試結果: 在x64 RELASE模式下經過, DEBUG模式下出錯。
注意: 因爲編譯opencv使用的tesseract的lib爲release版本,因此在「DEBUG"模式下會出錯:
可是在Release模式仍然可以調試。