• ベストアンサー
  • 暇なときにでも

画像を分析して文字列を取得

画像に書かれた文字列を取得する方法などないでしょうか 言語は一応javaとしてありますが、特にこだわりはありません。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数832
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

一般的には、OCR(Optical Character Reader/Recognization)と呼ばれる技術になります。 特徴点抽出したり、ニューラルネット使ったり、色んな技術を組み合わせるパターンが多く、個人で実装とかは困難です。 作成されたライブラリなんかを利用するのが一般的です。 フリー、オープンソースのものは日本語は対象外だったりとかで、「これだ」ってのはちょっと分かりません。 Microsoftのものですと、Office2007に付属、Office2010では削除されたが無料で入手可能なMicrosoft Office Document Imaging (MODI)を使う方法があるとか無いとか。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

助かります。Java用のOCRなるものを見つけることができました! そちらを使ってやってみようと思います。

関連するQ&A

  • 一意の文字列を取得したい

    同時に同じファイル名のファイルをアップロードしたときに、一意の文字列を付けて保存をして重複しないように保存をしたいです。 数値でも文字でもいいのですが、Javaで一意の文字列を取得する方法ってありますか? 宜しくお願いします。

    • ベストアンサー
    • Java
  • twitterで画像の文字列を取得する

    PC操作でお願いします。またはガラホです。 新ツイッターで出来なくなったようなのですが、画像の文字列が取得できなくなりました。どうしたら取得できますか?定期に貼り付ける予定です。

  • JAVA 文字列取得について

    たとえばxyz.txtというテキストファイルに記載されている文字列で「abcd」というものがあったとします。 そのabcdから3文字後ろからの文字列を10文字だけ取得する、 といった方法を教えていただけませんでしょうか。

その他の回答 (1)

  • 回答No.1
noname#208507

オープンソースソフトウェアで日本語に対応したNHocrという文字認識エンジンがあるようですね。 http://sourceforge.jp/projects/nhocr/ http://code.google.com/p/nhocr/

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 調べてみます。

関連するQ&A

  • 画面から文字列を取得してその文字列の位置を知る方法

    こんばんは。 質問させてください。 画面から文字列を選択して、取得します。(これは出来ました。) その文字列がHTMLソースファイルの どの位置のものか取得する方法はありますでしょうか? ○番目の「こんばんは」を画面から取得した時に 同じ文字列があっても、○番目の位置が取得出来る方法なのですが・・・ ---- <HTML><HEAD></HEAD> <BODY> おはよう、こんばんは。 さようなら、ありがとう。 しつれいしました、おはよう、こんばんは。 こんばんは、さようなら。 さようなら </BODY> </HTML> ----

  • 画像(jpg)⇒暗号⇒文字列(txt)⇒復号⇒画像(jpg)をやりたい

    画像(jpg)⇒暗号⇒文字列(txt)⇒復号⇒画像(jpg)をやりたい。 画像を文字列で取得して、 それを以下のURLの暗号メソッドを使用して http://dobon.net/vb/dotnet/string/encryptstring.html 変換した文字列をテキストで保管する。 そして、逆に先程のテキストを文字列で取得して、 先程のURLの復号メソッドを使用して、 変換した文字列をjpgで保管する。 これがやりたいのですが、 暗号する前と、暗号した後で変換される文字列が違ってしまいます。 画像とかは、テキストで開けるから普通に文字列として扱って問題ないのかな と思っているのですが・・・なんで違ってくるのかが分かりません。 ちなみに、URLのメソッド(暗号/復号)は普通の文字列での動作は確認が取れています。 自分がこれ原因かな&#65374;って思うと子は以下の通りです。 ・復号したファイルをファイルストリームで拡張子jpgにしている為、  画像ファイル作成時にしなければいけない処理が抜けている? ・読み込んだ文字列を一度テキストに書き込んでいる際に、何かしら文字コード関係で  不具合が生じている。 ・というか元々文字列で処理してjpgを暗号しようなんて無理 こんな私に助け舟を!! ・・・忘れていました。言語はC#です。 ご回答の程よろしくお願い致します。

  • ブラウザなどで入力された文字列を取得する方法

    ブラウザやワードのようなアプリケーションで入力された文字列(特に漢字)をプログラムで取得する方法を探しています。 プログラム内で用意したテキストボックスに入力された文字列を取得するサンプルコードはそこかしこで見かけるのですが、 他のアプリケーションで入力した文字列を取得するような方法がどうしてもわかりません 文字列を取得するImeAPIの中のImmGetCompositionStringの存在や アクティブウインドウのハンドルを取得するGetActiveWindowの存在は知っているのですが この2つを組み合わせて出来るものなのでしょうか? ほかにも「フック」を使うという方法も考えましたがIMEで入力が確定した文字列を 「フック」してくることは可能なのでしょうか? 「これなら取得できる」といった良い方法があれば教えていただきたいです。 長文になりましたがなにとぞよろしくお願いいたします。 開発環境:windows7 64bit 開発言語:できればC言語 ↓テキストボックスに入力された文字列を取得するサンプルコード↓ http://shinshu.fm/MHz/95.83/archives/0000025041.html#comments http://www.atmarkit.co.jp/fdotnet/dotnettips/875imeyomi/imeyomi.html ↓IME APIの関数リスト↓ http://msdn.microsoft.com/ja-jp/library/cc422019.aspx

  • 文字列の取得

    string.subString()のなどで文字列を指定文字数分取得する場合に、バイト数指定で取得する方法ってありますか? 教えてください。

    • ベストアンサー
    • Java
  • C#で文字列から数値だけ取得する方法

    C#で文字列から数値だけ取得する方法 stringの文字列をcharの文字配列に入れなおして 数値の場合だけ、別の配列(例:a[3])にコピーする。 そんな方法で数値を抜き出そうかと思っています ですが、文字列から数値だけを見つけ出して取得する方法がわかりません。 詳しくのっているサイトなどありましたら 教えてください…!!

  • javascriptでtextareaの文字列を取得したいです。

    javascriptでtextareaの文字列を取得したいです。 textareaで入力された文字列から半角括弧でくくられた文字列を、半角括弧付きで取得したいです。 例 あいうえお かき(くけ)こ さしすせそ この場合、(くけ)が取得したい文字列です。 正規表現を使えば取得できそうなのですが、 詳しく分からないので教えてください。 よろしくお願いいたします。

  • シェルの文字列取得について

    シェル(Bash)の文字列取得についてご教授ください。 文字列:  test(12345) 上記の文字列から"12345"(括弧内の数値部分)を取り出し、変数へ格納する場合、どのように行えばよいのでしょうか? ちなみに1桁だったり2けただったりと数値の桁は変動します。 よろしくお願いします。

  • シェルスクリプトである文字列から一定の文字列を取得する方法

    cshのスクリプトを書いているのですが、ある文字列から文字列を取得するにはどうしたらよいでしょうか? 具体的には、 aaaaaaabbbbb という文字列があってここから aaaaaaa だけ取り出すには どうすればよいでしょうか? ただし、aの文字は可変でbは固定の文字列です。

  • 文字列中からある文字列とある文字列の間にある文字列を取得

    表題にあるとおり間の文字列をどうやって取得するべきかと悩んでいます・・ abcdefghijklmn・・・ となっているとき bとe、aとkなど間の間隔が不定なときはどのようにして文字列を取得したらよいのでしょうか? 最初の2文字は与えられているとして考えています。 インターネットのURLで言うなら/から/までの間の文字列と言うことになります。 今私が考えているのは strchrで位置のアドレスを取得してそこからfor文かwhile文で指定の2文字目が出るまでまわすのかなぁ・・と思っています。 ですが具体的にどのような感じに書けばいいのかがわかりません。どなたかご教授ください。

  • 改行コードを含む文字列の分割について

    Java初心者です。 Java言語で、ある文字列を"\r\n"だけを区切り記号として別々の文字列にしたいのですがうまくいきません。 StringTokenizerを使って、 StringTokenizer(msg,"\\r\\n") のようにやって見たのですが、これだと"\r"や"\n"まで区切り記号として分割されてしまいました。 "\r\n"だけを区切り記号として処理するにはどうしたらいいでしょうか? 例えばPOSTで送信した"データ1\r\nデータ2\r\nデータ3\nテスト"という文字列を、 "データ1"、"データ2"、"データ3\nテスト"の3つにしたいのですが。

    • ベストアンサー
    • Java