Tesseract入門-VS2015下調用Tesseract4.0 +win7 64位系統

本文是基于最近的OCR識別項目學習ocr開源庫-tesseract的簡單調用,不涉及其余視覺知識。
參考文獻:http://blog.csdn.net/u012566751/article/details/54136836
參考庫:http://download.csdn.net/download/u010554381/10044876

1.預備工作

下載上述參考庫的文件,解壓下有!
[解壓后的內容]
(https://img-blog.csdn.net/20171030145427018?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDU1NDM4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
需要安裝tesseract4.0 alpha版本,安裝過后需要增加環境變量(比較簡單,不知道的話可以自行百度),增加內容為“D:****\Tesseract-OCR”,“*”內容為上述安裝路徑;還需增加一個系統變量,變量名為“TESSDATA_PREFIX”,內容為“D:*\Tesseract-OCR”,該系統變量的意義貌似是可以找到tesseract的dll文件(但我試過了不管用不知道是自己配置是否有問題,有大神知道的話可以告訴我下,我修改)。

2.環境配置

環境配置和opencv類似,創建一個win32工程。

2.1配置包含目錄和庫目錄

在屬性頁中找到VC++目錄,配置其中的包含目錄和庫目錄,如下圖所示;
這里寫圖片描述

2.2配置附加依賴項

這里寫圖片描述

2.3 DLL文件

此處總感覺有問題,不能正確找到DLL文件的路徑,采用笨方法,將相應的DLL文件拷貝到工程的執行目錄下,如下圖所示:

源文件位置

3 接口調用示例

加入如下代碼:該代碼來源于tesseract官方
https://github.com/tesseract-ocr/tesseract/wiki/APIExample修改版本

#include <stdio.h>
#include <allheaders.h>
#include <capi.h>void die(const char *errstr) {fputs(errstr, stderr);exit(1);
}int main(int argc, char *argv[]) {TessBaseAPI *handle;PIX *img;char *text;//原圖像的絕對路徑 if ((img = pixRead("D:\\1.tif")) == NULL)   die("Error reading image\n");handle = TessBaseAPICreate();if (TessBaseAPIInit3(handle, NULL, "eng") != 0)die("Error initialising tesseract\n");TessBaseAPISetImage2(handle, img);if (TessBaseAPIRecognize(handle, NULL) != 0)die("Error in Tesseract recognition\n");if ((text = TessBaseAPIGetUTF8Text(handle)) == NULL)die("Error getting text\n");fputs(text, stdout); //輸出OCR識別的文本信息system("pause");TessDeleteText(text);TessBaseAPIEnd(handle);TessBaseAPIDelete(handle);pixDestroy(&img);return 0;
}

4可能遇到的問題和注意事項

4.1錯誤:This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details

解決方法:
這里寫圖片描述

4.2注意事項

千萬千萬不要把庫解壓到含有中文路徑的文件夾下,不然可能會導致一些莫名的錯誤!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256593.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256593.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256593.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

authconfig命令解析_學習筆記

時間&#xff1a;2017.11.16作者&#xff1a;李強參考&#xff1a;man,info&#xff0c;magedu講義聲明&#xff1a;以下英文純屬個人翻譯&#xff0c;英文B級&#xff0c;歡迎糾正&#xff0c;盜版不糾,才能有限&#xff0c;希望不誤人子弟為好。1、使用目的與場景先列在這里&…

matlab simulinK筆記06——代數環

★代數環 代數環,就是由于模型的輸出反饋到模塊或子系統的某個輸入端&#xff0c;如果這個輸入 是直接饋入的&#xff0c;那么二者在同一個采樣點內需得到求解&#xff0c;但又互相依賴,哪一方都不 能完成求解過程&#xff0c;使得解算器無法解算導致錯誤產生&#xff0c;這樣的…

PHP多種序列化/反序列化的方法 (轉載)

1. serialize和unserialize函數 這兩個是序列化和反序列化PHP中數據的常用函數。 <?php$a array(a > Apple ,b > banana , c > Coconut);//序列化數組 $s serialize($a); echo $s; //輸出結果&#xff1a;a:3:{s:1:"a";s:5:"Apple";s:1:&qu…

基于python3的Opencv(一)-打開攝像頭顯示圖像

基于Python3的Opencv學習&#xff1a; import cv2 as cv def video_demo(): #0是代表攝像頭編號&#xff0c;只有一個的話默認為0capturecv.VideoCapture(0) while(True):ref,framecapture.read()cv.imshow("1",frame) #等待30ms顯示圖像&#xff0c;若過程中按“Esc…

.Net中的AOP系列之《方法執行前后——邊界切面》

返回《.Net中的AOP》系列學習總目錄 本篇目錄 邊界切面 PostSharp方法邊界方法邊界 VS 方法攔截ASP.NET HttpModule邊界真實案例——檢查是否為移動端用戶真實案例——緩存小結本系列的源碼本人已托管于Coding上&#xff1a;點擊查看。 本系列的實驗環境&#xff1a;VS 2013 Up…

matlab simulink筆記06 —— 利用simulink求解微分方程/simulink框圖與控制系統框圖的區別

目錄 1.利用integrator求解微分方程 1.1求解步驟 1.2例子 2.simulink框圖與控制系統框圖的區別 本人剛開始學習simulink,總是會將simulink框圖和控制系統框圖混淆,導致最后不能正確的根據simulink框圖得到相應的微

ubuntu搭建svn、git遇到的問題及解決辦法

不錯的git筆記博客&#xff1a; http://www.cnblogs.com/wanqieddy/category/406859.html http://blog.csdn.net/zxncvb/article/details/22153019 Git學習教程&#xff08;六&#xff09;Git日志 http://fsjoy.blog.51cto.com/318484/245261/ 圖解git http://my.oschina.net/x…

PHP IDE phpstorm 快捷鍵

這篇文章主要介紹了PHP IDE phpstorm 常用快捷鍵,本文分別列出了mac系統和Windows系統下的phpstorm快捷鍵,需要的朋友可以參考下 一、mac電腦phpstorm快捷鍵 command a 全選 command c 復制 command v 粘貼 command z 撤消 command k 代碼搜索 command l 輸入行號跳到某一…

Opencv SolvePnP調用實戰

1.環境說明與應用說明 VS2015opencv3.4&#xff0c;實際應用在MFC環境中&#xff01;主要是用來做定位&#xff0c;利用平面靶標給機器人的工具快換提供定位信息 2.實際調用 CV_EXPORTS_W bool solvePnP( InputArray objectPoints, InputArray imagePoints, …

matlab simulink筆記05 —— 積分模塊

1.連續積分模塊&#xff1a;integrator 例子見&#xff1a;matlab simulink筆記06 —— 利用simulink求解微分方程/simulink框圖與控制系統框圖的區別

squid在企業網中的應用

一&#xff1a;squid簡介&#xff1a; Squid是一種在Linux系統下使用的優秀的代理服務器軟件。Squid是一個緩存internet數據的一個軟件&#xff0c;它接收用戶的下載申請&#xff0c;并自動處理所下載的數據。也就是說&#xff0c;當一個用戶想要下載一個主頁時&#xff0c;它向…

win10+tensorflow faster-RCNN 訓練自己的數據集

首先&#xff0c;感謝博客上各路大佬的無私奉獻&#xff01;但是也不得不吐槽下&#xff0c;大佬些寫博客的時候能盡量寫的對小白友好一點嗎&#xff1f;期間遇到各種坑&#xff0c;說多了都是淚啊&#xff01;話不多說&#xff0c;上正題&#xff01; 環境&#xff1a;win10a…

matlab simulnk筆記07——模塊(接地模塊group、終止模塊terminal、信號合并mux與分解模塊demux)

1.接地模塊group 2.終止模塊terminal 3.信號合并mux 注意:合并僅僅指的是物理上的合并,數學上真正意義上的合并,只是將多個信號放在同一個管道上統一傳輸給顯示終端,但是每個信號之間互不影響,是相

二叉搜索樹的插入與刪除圖解

一、二叉搜索樹&#xff08;BSTree&#xff09;的概念 二叉搜索樹又被稱為二叉排序樹&#xff0c;那么它本身也是一棵二叉樹&#xff0c;那么滿足以下性質的二叉樹就是二叉搜索樹&#xff1a;1、若左子樹不為空&#xff0c;則左子樹上左右節點的值都小于根節點的值2、若它的右子…

AlienVault Ossim各版本鏡像下載地址

AlienVault Ossim各版本鏡像下載地址 OSSIM V5.0.3 ISO網盤下載地址 了解Ossim的架構、工作原理和使用方法可以參考我的新書以及http://edu.51cto.com/course/course_id-1186.html 這里提供的視頻教程。 本文轉自 李晨光 51CTO博客&#xff0c;原文鏈接&#xff1a;http://blo…

面試總結

lru算法&#xff1a;最近最少使用  1.新數據插入到鏈表頭部&#xff1b;  2.每當緩存命中&#xff08;即緩存數據被訪問&#xff09;&#xff0c;則將數據移到鏈表頭部&#xff1b;  3.當鏈表滿的時候&#xff0c;將鏈表尾部的數據丟棄。 自定義控件&#xff1a; 1.measu…

win10+anaconda安裝tensorflow和keras遇到的坑小結

win10下利用anaconda安裝tensorflow和keras的教程都大同小異&#xff08;針對CPU版本&#xff0c;我的gpu是1050TI的MAX-Q&#xff0c;不知為啥一直沒安裝成功&#xff09;&#xff0c;下面簡單說下步驟。 一 Anaconda安裝 一般來說&#xff0c;python選擇3.6的&#xff0c;目…

rman備份恢復命令之switch

一 switch 命令 1 switch命令用途 更新數據文件名為rman下鏡像拷貝時指定的數據文件名 更新數據文件名為 set newname 命令指定的名字。 2 switch 命令使用前提條件 rman 必須連接到目標數據庫 當switch tablespaces、datafiles、tempfiles時&#xff0c;這些文件必須離線 當…

服務核心 - 工具類

雖然類名稱為CWHService&#xff0c;我理解更多的是工具函數。 主要接口功能有&#xff1a; 1&#xff09;SetClipboardString設置字符串到windows剪貼板 2&#xff09;GetMachineID獲取機器標識&#xff0c;網卡地址MD5加密&#xff1b; 3&#xff09;GetMachineIDEx獲取機器標…