交叉編譯 tesseract

来源:http://www.cnblogs.com/tan-v/archive/2017/07/12/7158268.html
-Advertisement-
Play Games

官方參考資料說明: tesseract 依賴庫: (https://github.com/tesseract-ocr/tesseract/wiki/Compiling#linux) leptonica 依賴庫: ( http://www.leptonica.org/source/README.htm ...


  官方參考資料說明:   tesseract 依賴庫: (https://github.com/tesseract-ocr/tesseract/wiki/Compiling#linux)            leptonica 依賴庫: ( http://www.leptonica.org/source/README.html )              

  

交叉編譯 tesseract (以 tesseract 3.01 為例)   說明:   1. 嵌入式環境:mips架構, linux 3.08   2. 交叉工具鏈: mips-linux-gnu-   3.工具鏈路徑: /home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/   一、依賴庫:   依賴庫: (官方有說明:https://github.com/tesseract-ocr/tesseract/wiki/Compiling#linux)   1. leptonica-1.67     > 其依賴庫: (官方說明:http://www.leptonica.org/source/README.html)     (1) libz (建議版本zlib_1.2.3, 實測zlib_1.2.8也可)     (2) libjpeg_9.0 (使tesseract支持jpeg,pbm圖片格式)     (3) 如需支持其他圖片格式如tif,需要安裝其他庫libtiif   二、交叉編譯 leptonica-1.67   1. 交叉編譯 libjpeg_9.0     (1)mkdir tmp     (2)./configure --host=mips-linux-gnu --target=mips-linux-gnu --prefix=$PWD/tmp         CC=mips-linux-gnu-gcc CXX=mips-linux-gnu-g++        CFLAGS=-I/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/include        LDFLAGS=-L/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib     (3)make -j4     (4)make install     (5)把tmp/下的include頭文件和庫文件lib複製到         /home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/include         /home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib       工具鏈下     2. mkdir tmp   3. ./configure --host=mips-linux-gnu --target=mips-linux-gnu --prefix=$PWD/tmp     CC=mips-linux-gnu-gcc CXX=mips-linux-gnu-g++     CFLAGS=-I/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/include     LDFLAGS=-L/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib     --with-jpeg (表示添加jpeg庫)     --includedir=/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/include     --libdir=/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib       其中:         --includedir= 表示頭文件安裝目錄         --libdir= 表示庫安裝目錄     必需配置,否則會找不到庫文件,導致編譯不通過     4. 鏈接庫環境變數     export  LD_LIBRARY_PATH=/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216         :/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib     5. make -j4     出現錯誤:     /home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/bin/../lib/gcc/mips-linux-gnu/4.7.2/../../../../mips-linux-gnu/bin/ld: warning: libz.so.1,     needed by ./.libs/liblept.so, not found (try using -rpath or -rpath-link)     ./.libs/liblept.so: undefined reference to `inflate'     ./.libs/liblept.so: undefined reference to `powf'     ./.libs/liblept.so: undefined reference to `ceil'     ./.libs/liblept.so: undefined reference to `atan2'     ./.libs/liblept.so: undefined reference to `expf'     ./.libs/liblept.so: undefined reference to `deflate'     ./.libs/liblept.so: undefined reference to `floorf'     ./.libs/liblept.so: undefined reference to `deflateInit_'     ./.libs/liblept.so: undefined reference to `sin'     ./.libs/liblept.so: undefined reference to `inflateEnd'     ./.libs/liblept.so: undefined reference to `atan'     ./.libs/liblept.so: undefined reference to `deflateEnd'     ./.libs/liblept.so: undefined reference to `tan'     ./.libs/liblept.so: undefined reference to `inflateInit_'     ./.libs/liblept.so: undefined reference to `cos'     ./.libs/liblept.so: undefined reference to `log'     ./.libs/liblept.so: undefined reference to `sqrt'     collect2: error: ld returned 1 exit status          原因:找不到libz庫,缺少math庫     解決:修改 Makefile         對於當前路徑下 src/Makefile 和 Makefile:       (1) LIBS =           -> LIBS = -lm       (2) ZLIB_LIBS =           -> ZLIB_LIBS = -lz       (3) LDFLAGS = -L/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/mips-linux-gnu/libc/lib                -L/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib     6. make install     7. 把tmp/下的include頭文件和庫文件lib複製到     /home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/include     /home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib    工具鏈下(如已配置 --includedir --libdir, 則make install時已經安裝到以上目錄)   三、交叉編譯tesseract 3.01   1. ./autogen.sh   2. mkdir tmp   3. ./configure --host=mips-linux-gnu --target=mips-linux-gnu --prefix=$PWD/tmp     CC=mips-linux-gnu-gcc CXX=mips-linux-gnu-g++     CFLAGS=-I/home/newton_linux/prebuilts/toolchains/mips-gcc472- glibc216/include     LDFLAGS=-L/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib     報錯:        checking for leptonica... configure: error: leptonica not found:     修改為:     ./configure --host=mips-linux-gnu --target=mips-linux-gnu --prefix=$PWD/tmp     CC=mips-linux-gnu-gcc CXX=mips-linux-gnu-g++     CFLAGS=-I/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/include     LDFLAGS=-L/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib     LIBLEPT_HEADERSDIR=/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/include (指定leptonica庫路徑)       如果再報錯:         checking for leptonica... yes         checking for pixCreate in -llept... no         configure: error: leptonica library missing         則刪除 configure 文件中的以下內容的帶”*“的行           * if test "x$ac_cv_lib_lept_pixCreate" = xyes; then :             cat >>confdefs.h <<_ACEOF             #define HAVE_LIBLEPT 1             _ACEOF             LIBS="-llept $LIBS"           * else             * as_fn_error $? "leptonica library missing" "$LINENO" 5           * fi     4. 鏈接庫環境變數不變     export LD_LIBRARY_PATH=/home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216:                  /home/newton_linux/prebuilts/toolchains/mips-gcc472-glibc216/lib     5. make -j4     出現錯誤:       svutil.cpp: In static member function 'static void SVSync::StartProcess(const char*, const char*)':       svutil.cpp:89:18: error: 'fork' was not declared in this scope       svutil.cpp:119:28: error: 'execvp' was not declared in this scope       svutil.cpp: In member function 'void SVNetwork::Close()':       svutil.cpp:262:16: error: 'close' was not declared in this scope       svutil.cpp: In constructor 'SVNetwork::SVNetwork(const char*, int)':       svutil.cpp:417:14: error: 'sleep' was not declared in this scope       原因:無對應頭文件     解決:        svutil.cpp 文件開始出添加頭文件: #include <unistd.h>     6. make install   四、開發板上使用tesseract   1. 分別把tesseract、leptonica、libjpeg_9、libz的tmp/下的include頭文件和庫文件lib複製到開發板/include和/lib目錄下   2. 在開發板上設置語言數據路徑:     export TESSDATA_PREFIX=/alg     即把語言數據文件放置在/alg/tessdata之下   3. 開發板上執行:     tesseract   xxx.jpg   out   -l eng  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 標簽:MSSQL/節點和共用文件夾多數 概述 之前講過多數節點的仲裁配置,多數節點一般3個節點以上的奇數個節點;常見的是使用3個節點節點多了也是浪費因為Alwayson的只讀路由只能利用到一個只讀副本,但是從Windows2008開始可以用共用文件夾來代替一個節點來充當仲裁;這就又可以節省一臺伺服器 ...
  • sql命令 1、查看命令 a、資料庫:show database; b、查詢表:show tables; c、選擇表:use 表名; d、查看表結構 desc 表名; e、查詢表數據select * from 表名; 創建資料庫:create database 庫名; 刪除資料庫:drop data ...
  • 一.Mongodb的IMongoQuery的使用 引用命名空間:MongoDB.Driver;MongoDB.Driver.Builders; ...
  • 一般情況下,從App Store安裝的應用程式,如果應用刪除,那麼launchpad里對應的圖標會一起刪除了。 而對於不是通過App Store安裝的應用程式,刪除應用程式,Launchpad中很可能仍然留有相關程式圖標。不能忍!是要逼死強迫症嘛? DaDa, 我們用直接操作資料庫的方法直接 del ...
  • 2017-07-12 13:11:47 http://www.runoob.com/eclipse/eclipse-tutorial.html Eclipse中導入 mysql--conncetor --java--jars 方法一:在工程項上右擊,點Build Path->Configure Bu ...
  • Redis作為NOSQL,本人初學Redis(以下是對其簡單的認識): 一.Redis(在資料庫部分有提到) 優點:1、海量數據的增刪改查,非常輕鬆應對 2、海量數據的維護非常輕鬆。 缺點:1、數據和數據之間沒有關係,所以不能一目瞭然 2、非關係型資料庫,沒有關係,沒有強大的事務保證數據的 完整和安 ...
  • 一.關係型資料庫(SQL): Mysql,oracle 特點:數據和數據之間,表和欄位之間,表和表之間是存在關係的 例如:部門表 001部分, 員工表 001 用戶表,用戶名、密碼 分類表 和 商品表, 一對多關係。 優點:①數據之間有關係,進行數據的增刪改查時非常方便的。 ②關係型資料庫 有事務操 ...
  • 一.設置開機自動連接網路1.用root賬號登錄2.打開etcsysconfignetwork-scrpts目錄3.vi ifcfg-eth04.將ONBOOT改為yes 二.沒有圖形界面如何連接網路1.ifconfig -a 查看網路配置2.ifup eth0(上述命令查看的網卡設備) ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...