none
画像から数字を認識させたい Tesseract.TesseractEngineの引数がわかりません RRS feed

  • 質問

  • VS2012

    http://whoopsidaisies.hatenablog.com/entry/2013/12/16/174819のサイトを参考に画像から数字認識させたいです。

    var tes

    
    
    • 編集済み kirua777 2015年5月10日 0:54 間違い
    2014年3月4日 23:18

回答

  • http://whoopsidaisies.hatenablog.com/entry/2013/12/16/174819」の筆者のwhoopsidaisiesです.

    上記記事の,Tesseract.TesseractEngineクラスのコンストラクタ呼び出し部分の2行目のコメントアウトしていた部分

     //@"D:\Users\whoops\Downloads\tesseract-ocr-master\tesseract-ocr-master\tessdata"

    は,テスト用のコードを投稿時に消し忘れたもので不要でした.

    そのため消してしまってかまいません.

    記事を修正したのでご確認をお願いします.

    ○修正前

    var tesseract = new Tesseract.TesseractEngine(
        //@"D:\Users\whoops\Downloads\tesseract-ocr-master\tesseract-ocr-master\tessdata",
        @"C:\tessdata", // 言語ファイルを「C:\tessdata」に置いた場合
        "jpn");         // 英語なら"eng" 「○○.traineddata」の○○の部分

    ○修正後

    var tesseract = new Tesseract.TesseractEngine(
        @"C:\tessdata", // 言語ファイルを「C:\tessdata」に置いた場合
        "jpn");         // 英語なら"eng" 「○○.traineddata」の○○の部分

    ややこしい記述をしてしまい,すいませんでした.

    • 回答としてマーク kirua777 2014年3月5日 20:34
    2014年3月5日 10:33

すべての返信

  • TesseractEngineのソースファイルもダウンロードできますから、それを見ればコンストラクタにどのような引数が必要なのかがわかります。もっともVisual Studioも、TesseractEngine( と(まで打つと、次に打つべきパラメータを指示してくれると思います。
    また、サンプルも同梱されていますし、他にも参考にしたいのであれば、ネットで「"new Tesseract.TesseractEngine"」とか、「”new TesseractEngine"」で検索するのも良いです。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    2014年3月5日 0:43
    モデレータ
  • 参考にしているページの「言語データのダウンロード」と書かれている個所の全文を読み、そこに書かれていることをすべて実行すれば、望むファイルが手に入ります。

    .tar.gz は圧縮ファイルですので、まずはそれを解凍します。ページにもそう書いてありますよね?


    とっちゃん@わんくま同盟, Microsoft MVP for Visual C++ (Oct 2005-) http://blogs.wankuma.com/tocchann/

    2014年3月5日 1:36
  • すみません解凍されていませんでした。

    解凍しCドライブにtessdataというフォルダをつくり、解凍ファイルからeng.traineddataというファイルをこのフォルダに入れ対応しています

    この第3引数に原因があるのでしょうか?

    エラー    3    引数 3: 'string' から 'Tesseract.EngineMode' に変換できません    C:\Users\suzaku\documents\visual studio 2012\Projects\WindowsFormsApplication2\WindowsFormsApplication2\Form1.cs    25    6    WindowsFormsApplication2


    • 編集済み kirua777 2014年3月5日 6:35
    2014年3月5日 6:19
  • コンパイルエラーの内容は理解できていますか?

    参考ページのコードと、ご自身が書いてエラーとなっているコードでなにが異なっているのかを確認してみてください。

    一息入れて、少し落ち着いてから、確認してみるとよいかもしれません。わからないようなら一度ほかのことをしてみるなどでもよいでしょう。

    もしかしたらほか人がここが間違っていると指摘してくれるかもしれませんが、私は、あえて指摘しない選択肢をとってみます。

    もう一息です。頑張ってみてください。


    とっちゃん@わんくま同盟, Microsoft MVP for Visual C++ (Oct 2005-) http://blogs.wankuma.com/tocchann/

    2014年3月5日 6:52
  • GitHubのコードを覗いてみました。ブログのコードが間違ってるのか、古いバージョンを使ってるのか不明ですが、TesseractEngine クラスのコンストラクタは、第3パラメータに EngineMode 列挙体を渡すようです。このパラメータは省略可能です。

    日本語の情報が少ないようなので、ソースを読んである程度挙動が推測できるレベルでないと、このライブラリを使いこなすのは難しいかも知れません。


    ひらぽん http://d.hatena.ne.jp/hilapon/


    2014年3月5日 7:02
    モデレータ
  • http://whoopsidaisies.hatenablog.com/entry/2013/12/16/174819」の筆者のwhoopsidaisiesです.

    上記記事の,Tesseract.TesseractEngineクラスのコンストラクタ呼び出し部分の2行目のコメントアウトしていた部分

     //@"D:\Users\whoops\Downloads\tesseract-ocr-master\tesseract-ocr-master\tessdata"

    は,テスト用のコードを投稿時に消し忘れたもので不要でした.

    そのため消してしまってかまいません.

    記事を修正したのでご確認をお願いします.

    ○修正前

    var tesseract = new Tesseract.TesseractEngine(
        //@"D:\Users\whoops\Downloads\tesseract-ocr-master\tesseract-ocr-master\tessdata",
        @"C:\tessdata", // 言語ファイルを「C:\tessdata」に置いた場合
        "jpn");         // 英語なら"eng" 「○○.traineddata」の○○の部分

    ○修正後

    var tesseract = new Tesseract.TesseractEngine(
        @"C:\tessdata", // 言語ファイルを「C:\tessdata」に置いた場合
        "jpn");         // 英語なら"eng" 「○○.traineddata」の○○の部分

    ややこしい記述をしてしまい,すいませんでした.

    • 回答としてマーク kirua777 2014年3月5日 20:34
    2014年3月5日 10:33
  • まさか筆者の方からアドバイスは頂けるとは思いませんでした。

    ありがとうございます。

    2014年3月5日 20:34