VS 2013コンパイルTesseract 3.04手順詳細

8677 ワード

最近Tesseract-ocrの勉強を始めました.GoogleはGitHubでTesseractのソースコードと既存の言語トレーニングパッケージを提供しています.しかし、最新バージョンのTesseract 4.0ではVS 2015以降のサポートが必要であり、提供される言語トレーニングパッケージでは4.00と3.04の2つのバージョンのTesseractのみがサポートされています.仕事のため、VS 2015をインストールできないので、公式に提供されたトレーニングパッケージを直接使用できるように、VS 2013でTesseract 3.04バージョンをコンパイルすることを選びました.しかし、物語はこんなに簡単ではない.このインストールとコンパイルの過程で私は多くの穴を踏んで、一日中振り回してやっとコンパイルに成功しました.これは私が初めて簡書文を書いたのですが、実は私はこれまで博文を書いた経験がありませんので、この文には多くの問題と不足があるかもしれません.実はこれは私がMarkdownを練習するための文章です.
  • 第一歩:Git
  • をインストールする
    この一歩はもう言わない.最も簡単な方法は、ソフトウェアの執事を開いてGitを検索し、インストールすればいいです.
  • ステップ2:ソースファイル依存ファイル
  • を取得する
    ソースファイルを直接ダウンロードしてコンパイルしないのはなぜですか?もちろんコンパイルができないからだよね!これは私が踏んだ最初の穴です.面倒を避けるために、依存ファイルを直接ダウンロードします.依存ファイルのGitHubアドレスはこちらです.ここでは手動でダウンロードすることができますが、Gitを使用している以上、Gitでダウンロードしましょう.まず、ファイルを保存するために目的の場所に新しいディレクトリを作成します.私が選んだ場所はF:tesseract-buildです.次にコマンドラインを開き、tesseract-buildフォルダに切り替えて、次のコマンドを実行します.
    git clone https://github.com/charlesw/tesseract-vs2012.git

    cloneが完了するとtesseract-buildにtesseract-vs2012というフォルダが表示されます.フォルダに入り、tesseract.slnのプロジェクトファイルを開き、コンパイルして実行......焦らないで、まず深く息を吸ってください.次は一連の問題に直面する可能性がありますから.大丈夫です.一つ一つリストして解決策を出します.まず、このエラーを見ることができます.
    この問題はVS 2013の互換性によるものである.解決方法:ソリューションエクスプローラのliblept-171を右クリックし、次のように設定します.
     1. “C/C++ --> "  ” -->”      ”     “C7   (/Z7)”`
     2. “C/C++ --> "    ” -->”      ”     “ (/GF)”`
     3. “   ” --> "  ” -->”      ”     “ (/DEBUG)”`

    次にコンパイルすると、新しいエラーが発生しました.
    これはファイルコードのせいです.解決策:
     1.   “  ” --> “      ”
     2.      `Unicode(UTF-8    ) -     65001` (  :           )

    コンパイルを続行すると、次のエラーが発生しました.
    および
    解決策:問題のある行にジャンプし、宣言変数のタイプをl_unit32からintに変更してコンパイルを続行します.エラーは報告されていませんが、この警告ボックスがポップアップされました.
    慌てないで.ここまで来て、あなたとこの工事の戦いはもう終わりました.「OK」をクリックして、プロジェクトをオフにし、後続のステップに進むことができます.次に、VS 2013インストールディレクトリを見つけて、次のフォルダに入ります.VS2013 を開き、tesseract-vs2012があるフォルダに切り替え、次のコマンドを実行します.
    msbuild build.proj

    コンパイルプロセスが開始されます.2~3分のコンパイル後、このヒントが表示されます.
    君が成功したことを示している.コマンドラインを消してtesseract-buildtesseract-vs 2012ディレクトリに入り、注意を払うとreleaseフォルダが1つ増えていることに気づきます.includelibの2つのフォルダが入っています.私たちがこんなに長い間苦労したのは、それらのためです.次に、
     1.    tesseract-build\tesseract-vs2012,  vs2013+64bit_support.patch     tesseract-build   
     2.    tesseract-build\tesseract-vs2012\release,  include    lib      tesseract-build    
     3.   tesseract-build\lib\Win32         tesseract-build\lib 

    この場合、tesseract-buildディレクトリには次のものがあります.
  • 第3歩はソースコードをダウンロードして、パッチを打って、ソースコード
  • をコンパイルします
    長い間苦労して、やっとソースのダウンロードを始めました.git倉庫を使う必要があるので、手動でダウンロードする必要はありません.コマンドラインを開き、tesseract-buildフォルダに切り替え、次のコマンドを入力します.
    git clone https://github.com/tesseract-ocr/tesseract.git

    クローンが完了すると、tesseract-buildフォルダの下にtesseractフォルダが追加されます.これはTesseactのソースコードです.しかし、実際にはTesseract 4.0のソースコードをクローン化していますが、3.04が必要なので、checkoutコマンドでバージョン切り替えを行う必要があります.tesseractフォルダを右クリックしgit bashを実行します.ポップアップgitコマンドラインに次のように入力します.
    git checkout -b 3.04-vs2013 3.04.00

    その後、tesseractフォルダの内容が以前とは異なり、バージョンを3.04に切り替えてコマンドラインに入力し続けたことを示します.
    git am --signoff < ../vs2013+64bit_support.patch

    この言葉はtesseract-buildディレクトリの下のvs 2013+64 bit_support.patchパッチはtesseractエンジニアリングに適用されます.しかし、この時あなたはまた間違っていることに気づきます.
    gitはあなたが誰なのか知る必要があります.この問題を解決するには、tesseract\gitフォルダ(このフォルダはデフォルトでは非表示なので、先に非表示ファイルを表示する必要があるかもしれません)に入り、configファイルを修正し、一番下にこれらの内容を書く必要があります.
    [user]
         email = [email protected]
         name = xxx

    ここにGitHubメールボックスとユーザー名を書いてください.むやみに記入しないように注意してください.記入して保存し、前のコマンドをもう一度実行すれば、パッチがスムーズに適用されます.ここまで来たら、あなたは成功に近づいています.tesseractフォルダを開くと、前よりvs 2013フォルダが1つ増えます.フォルダに入り、tesseract.slnプロジェクトファイルを開きます.入ってから焦らないでtesseractを起動項目に設定してコンパイルします.コンパイルプロセスで次の警告が表示された場合:
    解決策:tesseractequationdetect.cppファイルを見つけて、コードの中の:
    static const STRING kCharsToEx[] = {"'", "`", "\"", "\\", ",", ".",  
        "〈", "〉", "《", "》", "」", "「", ""};

    に改心
    static const STRING kCharsToEx[] = { "'", "`", "\"", "\\", ",", ".",  
        ", ">", "<, ">>", "" };

    再コンパイル.コンパイルが完了すると、次のプロンプトが表示されます.
    このliblept171d.dllはどこですか?tesseract-build\libフォルダにあります.プロジェクトがこのファイルを見つけるためにtesseract-buildlibを環境変数PATHに追加しました.再コンパイルに成功しました.そしてデバッガをDLL_に切り替えますRelease、再コンパイル、依然として成功!tesseract-build\tesseract\vs2013\bin\Win32\DLL_Debugtesseract-build\tesseract\vs2013\bin\Win32\DLL_Releaseの2つのフォルダで、対応するexeファイルをそれぞれ見つけることができます.これらは私たちのTesseract実行ファイルです.つまり、ついにソースコードのコンパイルに成功しました!
    これで、コンパイルプロセス全体が終了します.簡単なコンパイルにこんなに時間がかかりました.私のTesseractの勉強の道はまだ長いです.
    著者:ZYCoderr
    リンク:http://www.jianshu.com/p/44c2946837b9
    出典:簡書
    著作権は作者の所有である.商業転載は著者に連絡して許可を得てください.非商業転載は出典を明記してください.