永遠のプログラマ☆

高齢者でもプログラマ(4x年)

CLOVA OCRお試し☆

こんにちは。
この11月で66歳。
誕生日にもコード書いてマッスル。

 

さて、長いプログラマ人生で初。
OCR関係のお仕事。
評判よさげな LINE株式会社 CLOVA OCR をお試し。

CLOVA OCRとは
あらゆる書類や画像を素早くテキスト化
CLOVA OCRは、紙面・画像に記載された文字・文章をテキストデータへ変換するAI-OCRです。方法はかんたん。PDFやスキャン、スマホで撮影した画像データなどを読み取るだけ。フォーマットが決まっている帳票はもちろん、あらゆるスタイルの文字を素早くテキスト化し、入力作業を大幅に軽減します。


今回試したのは、Free バージョンのAPIコール。
300回まで試せます。

CLOVA OCR


試したのは、基幹システムと連携ができる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; //認識フィールド数
}