[UWSC]OfficeのOCR機能を使う

こちらのUWSCサンプルを実行してみました。がエラーが出たのでメモ
UWSCサンプル – OCRの利用(Office付属)
印刷されてやってくるリストの処理を楽にしたい系です。

OCRを使うにはMODIが必要

そのままサンプルスクリプトを動かしてもMODI.Documentが無いのでエラーが出てダメでした。
OCRの機能(MODI.Document)はOffice2007の中にあるらしく別から持ってこないといけません。

下記URLにMODIのインストール方法があります。
Microsoft Office 2010 で使用する MODI のインストール
Office2007が無いので方法1を利用します。

MODIのインストールが終了したらサンプルが実行できました。

CONST miLANG_ENGLISH = 9            // English
CONST miLANG_JAPANESE = 17          // 日本語
// メモ帳に文字を書き BMP保存
id = Exec("notepad.exe")
SendStr(id, "https://pocketlog.net", 1, True)
SCKey(id, VK_END, VK_RETURN, VK_RETURN)   // キャレットを移動
SaveImg("test.bmp", id, 0, 0, 200, 32, True)
// BMPをOCRに読み込む
doc = CreateOLEObj("MODI.Document")
try
doc.Create("test.bmp")
except
doc.Create("test.bmp")
endtry
doc.OCR(miLANG_ENGLISH, False, False)
for i = 0 to doc.Images.Count-1
print doc.Images[i].Layout.Text
next

OCRの結果

当ブログのURLをOCR化してみました。
認識率はイマイチ。

メモ帳にテキストを入力したものをスクリーンショットした画像
オフィスOCR結果-画像化

結果
オフィスOCR結果-MODI

似た文字が並ぶと認識率が下がるようです。
あとそのままの状態だと日本語が認識されないので何かほかに設定があるのかと
まだ調べないといけないことがありそうです。

別のライブラリがあればそちらを利用するほうが良いかもしれません。

シェアする

  • このエントリーをはてなブックマークに追加