測定器などの画面表示から測定データを記録したい場合、目で見て紙に書いても良いのですが、
WEBカメラでキャプチャしてOCRをかければ自動化出来そうです。
実際にやってみました。
画像関係は、何故かVBよりもC#の方がサンプルが豊富です。
キャプチャに関しては下記サイトのプログラムをベースにしました。
http://shokai.org/blog/archives/1546
左にプレビューを表示させて、真ん中にキャプチャします。
これを、右クリックと左クリックで2点の座標を指定し、
右側にトリミングして
http://dobon.net/vb/dotnet/graphics/triming.html
明るさ、ガンマを調整して
http://dobon.net/vb/dotnet/graphics/setgamma.html
OCRにかけます。
OCRは「Tesseract ocr」という画像認識ライブラリを
C#からも扱えるようにしたラッパがあったので、下記サイトを参考に使いました。
http://whoopsidaisies.hatenablog.com/entry/2013/12/16/174819
7セグメント用の学習データは、githubに公開されていました。
https://github.com/arturaugusto/display_ocr
これを
public string tessdataLanguage = "letsgodigital";
といった感じで学習データに指定してOCRをかけたところ、無事に読み取ってくれました。
OCRの読み取りモードは、Tesseract.PageSegModeで指定していて
Auto や SingleWord, SingleLine 等がありましたが、SingleLineが一番成績が良いようでした。
2015年08月21日
この記事へのトラックバック
C#でtesseract-OCRを使ったアプリを開発したく検索しているところに、ピッタリの事例が載っておりコメントさせて頂きました。
古い記事への質問で申し訳ありませんが、可能であればサンプルソース等ご教示頂けないでしょうか?
よろしくお願いします。
コメントありがとうございます。
ストレージ内を探したところ、幸いなことにプロジェクトフォルダが残っていました。
中身はネット上の情報を寄せ集めたものなので公開は差し控えますが、
7m4mon アット gmail.com
にメールを下されば、プロジェクトファイル一式をご提供可能です。
ご連絡をお待ちしています。