こんにちは。
この11月で66歳。
誕生日にもコード書いてマッスル。
さて、長いプログラマ人生で初。
OCR関係のお仕事。
評判よさげな LINE株式会社 CLOVA OCR をお試し。
CLOVA OCRとは
あらゆる書類や画像を素早くテキスト化
CLOVA OCRは、紙面・画像に記載された文字・文章をテキストデータへ変換するAI-OCRです。方法はかんたん。PDFやスキャン、スマホで撮影した画像データなどを読み取るだけ。フォーマットが決まっている帳票はもちろん、あらゆるスタイルの文字を素早くテキスト化し、入力作業を大幅に軽減します。
今回試したのは、Free バージョンのAPIコール。
300回まで試せます。
試したのは、基幹システムと連携ができるAPI。
もちろん Free 版。
画像を投げると文字がjsonで返ってきます。
jsonは、JavaScriptと相性がいいので
Java嫌いなオヤジですがコード書きました。
API呼出し後の、jsonパース処理の備忘メモ。
import java.util.HashMap;
import org.json.JSONArray;
import org.json.JSONObject;
// input: API json出力文字列
// items:取りだしたいフィールド名
// out:結果
int ParseOCR(String input,HashMap items,HashMap out){
JSONObject json = new JSONObject(input);
JSONArray ar = json.getJSONArray("images"); //イメージ配列
JSONObject js1 = ar.getJSONObject(0); // 1個目のイメージ取出し
JSONArray flds = js1.getJSONArray("fields"); // フィールド配列取出し
int fcnt= 0;
for (int i = 0; i < flds.length(); i++) { //フィールド単位に取出す
String ocrname = flds.getJSONObject(i).getString("name");
String ocrtext = flds.getJSONObject(i).getString("inferText");
if (items.get(ocrname) != null) {
out.put(items.get(ocrname),ocrtext);
fcnt++;
}
}
return fcnt; //認識フィールド数
}