[Tesseract]Tesseract 在 Visual Studio 2012 中的配置及调用
一、Tesseract簡介
Tesseract是一個開源的OCR(Optical Character Recognition,光學字符識別)引擎,可以識別多種格式的圖像文件并將其轉換成文本,目前已支持60多種語言(包括中文)。?Tesseract最初由HP公司開發,后來由Google維護,github地址為:https://github.com/tesseract-ocr/
二、Tesseract源碼下載
1、下載tesseract-ocr-setup-3.02.02.exe
下載地址:https://sourceforge.net/projects/tesseract-ocr-alt/files/?, 點擊 “tesseract-ocr-setup-3.02.02.exe” 進行下載。
下載后,雙擊tesseract-ocr-setup-3.02.02.exe,進行安裝。
按照操作提示,點擊next。
注意,在選擇組件頁面,勾選 Tesseract development files。 如圖:
安裝完成后,選擇的安裝目錄下(D:\Program Files (x86)\Tesseract-OCR),文件夾如下:
但是,下載下來的源碼是不夠的。還需要下載附加lib。
2、下載tesseract-3.02.02-win32-lib-include-dirs.zip
下載地址:https://sourceforge.net/projects/tesseract-ocr-alt/files/?,選擇“tesseract-3.02.02-win32-lib-include-dirs.zip” 進行下載。
下載得到壓縮包后,解壓縮,目錄如下:
其中,include目錄中包含如下:
lib目錄中包含如下:
將include 文件夾中的內容復制到 D:\Program Files (x86)\Tesseract-OCR\include 文件夾中,將lib 文件夾中的內容復制到 D:\Program Files (x86)\Tesseract-OCR\lib?文件夾中。
3、下載 tesseract_versionnumbers.props 和?leptonica_versionnumbers.props
下載地址為:https://github.com/jakesays/tesseract-vs2012/tree/master/include,將項目中包含的?tesseract_versionnumbers.props 和?leptonica_versionnumbers.props 復制到D:\Program Files (x86)\Tesseract-OCR\include 文件夾中。
至此,我們需要的資源就準備齊全了。
備注:我之前也是走了一些彎路,這是總結出來的完整資源的獲得方式。以上所需要的資源的必要性,在后面Tesseract 與 VS2012 相結合的時候會提到。
三、Tesseract 在 Visual Studio 2012 中的配置
1、新建win32控制臺項目
注意在附加選項中,勾選“空項目”。
2、引入頭文件
在“解決方案資源管理器” 窗口,右鍵 “MyFirstTesseractProject”工程 ?-> “屬性(R)” ->“C/C++”->“常規”->“附加包含目錄”中,添加如下內容:
D:\Program Files (x86)\Tesseract-OCR\include
D:\Program Files (x86)\Tesseract-OCR\include\leptonica
D:\Program Files (x86)\Tesseract-OCR\include\tesseract
如圖所示:
3、引入庫文件
1)添加屬性表
首先將“D:\Program Files (x86)\Tesseract-OCR\include”目錄 拷貝到 本地工程“MyFirstTesseractProject\MyFirstTesseractProject”目錄下,如圖所示:
然后進行以下設置:?
在“解決方案管理器”所在區域,切換到“屬性管理器”窗口;?
右鍵“MyFirstTesseractProject”工程下面的“Debug|Win32”文件夾 –>“添加現有屬性表(E)…”–>在“MyFirstTesseractProject\MyFirstTesseractProject\include”目錄下找到“tesseract_versionnumbers.props”–>“打開”;?
如圖所示:
添加后如圖所示:
2)配置庫文件
在“解決方案管理器”窗口–>右鍵“MyFirstTesseractProject”工程–>“屬性(R)”–>“配置屬性”–>“鏈接器”–>“常規”–>“附加庫目錄”中添加如下內容:
D:\Program Files (x86)\Tesseract-OCR\lib
如圖所示:
4、添加預定義
在“解決方案管理器”窗口–>右鍵“MyFirstTesseractProject”工程–>“屬性(R)”–>“配置屬性”–>“C/C++”–>“預處理器”–>“預處理器定義”–>中添加”如下列表中的“預定義”內容:
_WINDOWS?
NDEBUG?
USE_STD_NAMESPACE
如下圖:?
5、添加附加庫
在“解決方案管理器”窗口–>右鍵“MyFirstTesseractProject”工程–>“屬性(R)”–>“配置屬性”–>“鏈接器”–>“輸入”–>“附加依賴項”–>中“添加”如下列表中的“附加庫”內容:
libtesseract302.lib
libtesseract302d.lib
liblept168.lib
liblept168d.lib
如圖所示:
6、其他添加
在“MyFirstTesseractProject” 目錄下新建 “Debug”文件夾,將“libtesseract302.dll” 和 “libtesseract302d.dll” 拷貝到 “Debug” 文件夾下面。如圖所示:
三、運行Tesseract實例
#include <baseapi.h>
#include <allheaders.h>
#include <iostream>
?
using namespace std;
?
int main(void)
{
?
?? ?tesseract::TessBaseAPI api;
?? ?api.Init("", "eng", tesseract::OEM_DEFAULT);
?? ?api.SetPageSegMode(static_cast<tesseract::PageSegMode>(7));
?? ?api.SetOutputName("out");
?
?? ?cout<<"File name:";
?? ?char image[256];
?? ?cin>>image;
?? ?PIX ? *pixs = pixRead(image);
?
?? ?STRING text_out;
?? ?api.ProcessPages(image, NULL, 0, &text_out);
?
?? ?cout<<text_out.string();
?
?? ?system("pause");
}
運行成功,運行結果如下:
給定測試圖片,如圖:
輸入圖片路徑,得到結果:
正確率有待提高。
四、總結
至此,成功在VS2012中配置了Tesseract。網上的資料比較少,下載下來的庫并不完整,經過實踐,總結出了在我這里可行的一套辦法。我的系統是win7,64位。
同時,在實驗的過程中,參考了以下博文。我覺得最大的收獲是,在遇到博文上說的辦法不可行的時候,根據實際情況作出了調整,并且成功跑通。
感謝:
【Tesseract】Tesseract API在VS 2013中的配置以及調用
Tutorial: How to Install Tesseract OCR 3.02.02 for Visual Studios 2008 on Windows Vista
---------------------?
原文:https://blog.csdn.net/u013250416/article/details/77871203?
總結
以上是生活随笔為你收集整理的[Tesseract]Tesseract 在 Visual Studio 2012 中的配置及调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Opencv进行轮廓检测,字符提取,
- 下一篇: x264_macroblock_cach