質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.64%

tess-twoのgitをビルドできない

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,498

212Yuichi

score 10

現在、JAVAを勉強中で、以下の挙動をJAVAプログラムでさせたいと思っています。

・前提・実現したいこと:
開発環境のPCはMacもしくはWindowsどちらの環境でもOKなのですが、Displayの画面上の任意の場所(プログラム起動時に位置を入力もしくはマウスで指定した範囲)に表示されている数字を読み込み、プログラム内の変数に格納すると言った処理がしたいです。
ネットで調べると、tess-twoというgitライブラリをビルドして、サンプルソースが動くという記述がたくさんあるのですが、その通りにしてもビルドでsoファイルというのができません。
具体的に参考にしたHPは以下のページで、以下の通り問題が発生しました。
http://blog.kotemaru.org/2014/04/03/android-ocr.html

【自分が試したPC環境】
2016年7月時点。
Eclipse 4.6 の pleiades
Android-SDK は設定済
OSは Mac OS X 10.7.5

【問題発生までの流れ】
1. Android用に NDK でコンパイル〜という記述があるので リンク :-> Android NDK の環境構築 
の通り作業を実施(サンプルソースのビルドまで完了)

2. http://blog.kotemaru.org/2014/04/03/android-ocr.html に戻り、
記載の通りeclipseで右記のgitをクローン https://github.com/rmtheis/tess-two.git
(masterブランチ)

3. ★★問題発生★★
「プロジェクトのメニューから「Androidツール」->「Add Native Support」を選択します。」

との記述がありますが、tess-twoのフォルダ右クリック -> に「Add Native Support」らしき
選択肢がでてきません。

4. 3をやっていなくてndkを認識できていないからなのかもしれませんが、tess-twoフォルダで
76件のエラーがでています。

★★★  エラー箇所一部抜粋 ★★★
src -> com.googlecode.tesseract.android -> Pageiterator.java

package com.googlecode.tesseract.android;

import android.graphics.Rect;

import com.googlecode.tesseract.android.TessBaseAPI.PageIteratorLevel;

public class PageIterator {
static {
System.loadLibrary("jpgt");     ← エラー:Systemを解決できません
System.loadLibrary("pngt");     ← エラー:Systemを解決できません
System.loadLibrary("lept");     ← エラー:Systemを解決できません
System.loadLibrary("tess");     ← エラー:Systemを解決できません

}

/** Pointer to native page iterator. */
private final long mNativePageIterator;

/* package */PageIterator(long nativePageIterator) {
mNativePageIterator = nativePageIterator;
}

/**

  • Resets the iterator to point to the start of the page.
    */
    public void begin() {
    nativeBegin(mNativePageIterator);
    }

無知なだけだと思いますが、上記エラーの発生原因と解決策をご教示頂けますでしょうか。
他に質問内容に足りない部分がございましたらご指摘ください。

宜しくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • asahina_dev

    2016/08/02 09:23

    設定している API レベル、インストール(パスをとおしている)JDK のバージョン(JREではない)はいくつですか

    キャンセル

  • 212Yuichi

    2016/08/02 10:13

    MR_Roboto様

    Windowsではできないのでしょうか。MacでもWindowsでも良いので、画面上の数字(日本語とか英語の認識は不要)を簡単に取得する方法を調査中です。。

    Asahina_dev様

    ご連絡ありがとうございます。
    帰宅後の19~20時頃に上記内容をご返信させていただきます。

    キャンセル

  • 212Yuichi

    2016/08/02 20:14

    設定しているAPIは24、JDKは 8u91のものをインストールしていました。
    宜しくお願い致します。

    キャンセル

回答 2

check解決した方法

0

tess-twoのライブラリを使う事をあきらめ、windowsツールのcapture2textのショートカットキーを
javaプログラムで押下させることで解決しました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

https://github.com/rmtheis/tess-two だとすると
上に 「Fork of Tesseract Tools for Android.」とAndroidとおもいっきり書いてありますよね? 
なぜWindowsやMacで使えると思ったのですか?

使うなら本家のtesseract-ocrを使うべきなのでは? 
多分これ https://github.com/tesseract-ocr 

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/02 12:41 編集

    Windows,macのどちらのPCのeclipseでもいいので動かしたいという意味です。ただ、よくよく考えると参考にしていたHPはandroidでOCRを使ってみたなので、自分の目的とは少しずれていました。。。tesseract-ocrでの数字認識について試してみます。

    キャンセル

  • 2016/08/02 20:19

    > マウスで指定した範囲)に表示されている数字を読み込み

    と書いているのでデスクトップアプリでやろうとしてるのかなと思ったのです。
    取り違えていたらすいません。

    キャンセル

  • 2016/08/02 20:36

    Mr_Roboto様

    おっしゃる通りです。デスクトップアプリでするイメージでしたが、tess-twoのビルドをしようとしておりました。
    私の説明文が分かりにくくて申し訳ないです。

    もう少し詳細に目的をご説明しますと、

    1.画面上の任意の場所の数字をOCRで読み込み
    2.判定ロジック(Wait n秒 もしくは3.へ)
    3.画面上の任意の場所をクリック
    ※Windows or Macのデスクトップアプリ、Androidアプリ のどれでも実現できればよい

    というものでして、1.の箇所についていろいろネットで調べていたところ、上記のHP
    に行き着いたといったところです。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.64%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる