- 締切済み
c言語で画像から文字を認識 キャプチャ、マイコン
ウインドウの画面をキャプチャして、 その画像の中から文字(数値)、特定の画像を認識、 そこから決定した処理をマイコンに送り、マイコンを制御したいのですが、 c言語での画面キャプチャ、認識の方法はございますか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yama1718
- ベストアンサー率41% (670/1618)
画像認識なんてしようとするから難しくなる。 画面表示しているアプリケーションソフトから、表示テキストの情報を読み出せばいい。 マウスポイント下のコントロールのハンドルを取得してGetTextすればできるのではと思います。 WindowFromPoint 指定された座標を含むウィンドウのハンドルを取得します。 http://msdn.microsoft.com/ja-jp/library/cc364874.aspx http://naoko.wankuma.com/win32api/win32api_0010_WindowFromPoint.html ちょうどそういう事をしているソフトを見つけました。 ポイント位置の文字列取得 http://itpro.nikkeibp.co.jp/article/COLUMN/20100222/344893/ http://www.forest.impress.co.jp/docs/serial/okiniiri/20101126_409605.html http://www.vector.co.jp/soft/win95/util/se454390.html このソフトを起動したらマウスポインタ下のコントロールの文字を拾ってくれます。 もちろん画像イメージで描画してある文字の認識は無理ですけど。
C言語であろうがjavaだろうが、BASICだろうが、どんな言語でも可能です。 広義にはパターン認識というアルゴリズムですが、必要なのは、文字認識のアルゴリズムを理解し、そのプログラムを1から作る腕です。ソフトウェア工学の中でも、かなり高度な知識を要すると思います。 がんばって、勉強すれば不可能ではありません。
お礼
そうですよね。。。 テンプレートマッチング、パターンマッチング、 OpenCVで調べると難しそうだと痛感します。 でもどうしても必要なのでがんばって学んでゆこうとおもいます。 ありがとうございました!
- wormhole
- ベストアンサー率28% (1626/5665)
方法があるかないかでいえば、あります。 ただそれが1つの関数を呼べばできてしまうようなものを期待されているのでしたら、ありません。 ひとまず、以下でも参照されてみてはいかがでしょうか。 http://gihyo.jp/dev/feature/01/opencv
お礼
回答ありがとうございます。 確かに1つの関数を呼べれば、楽なんでしょうけどね。。。 OpenCV、参考になりました。 ありがとうございました!
お礼
ソフトまで紹介してくださってありがとうございます! でも、できればjavaで一貫したくて、 認識したい対象が画像の特定のエリアなのです。 (一応手書き文字ではなく、一般のフォントなのですが。。。) もう少し調べてみます。 ありがとうございました!