「Xamarin.AndroidでTesseract-OCRを利用する」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator (ページの作成:「Googleがオープンソースで公開してるTesseract-OCRをXamarin.Androidから利用してみる。 == 手順例 == === NuGet === * NuGetか...」) |
(相違点なし)
|
2018年3月1日 (木) 02:52時点における版
Googleがオープンソースで公開してるTesseract-OCRをXamarin.Androidから利用してみる。
手順例
NuGet
- NuGetから「Xamarin.Tesseract」を入れる。
学習データ
- 学習データをダウンロードしてくる。
- Assetsフォルダに「tessdataフォルダ」を作る。
- ビルド時にエラーになるときはプロジェクトファイル(.csprojファイル)を開いて「tessdataフォルダ自体がアセットに追加されている」のを消せ。
- 「tessdataフォルダ」に学習データ(***.traineddata)を入れる。
- 日本語であれば「jpn.traineddata」だ。
- 学習データ(***.traineddata)のビルドアクションを「AndroidAssets」にする
- ビルドアクションは右クリックだ。
実行例
// 初期化
var tesseract = new TesseractApi(this, AssetsDeployment.OncePerInitialization);
// 引数はjpn.traineddataなら「jpn」
// 英語(eng.traineddata)と混在させる場合は「eng+jpn」などとする。
var result = await tesseract.Init("jpn");
if (!result)
{
throw new Exception();
}
// SetImageでOCRが実行される。
// ファイルパス指定でもStreamでもいける。
await tesseract.SetImage(image);
// OCRの結果はTextプロパティに格納される
_textView.Text = tesseract.Text;
日本語もそこそこ取れてはいるが微妙なレベルで悩ましい。