画像から10桁の数値を抜き出す

Written by じび on 7月 17th, 2021

画像に書かれている10桁の数値を抜き出す必要があったのでやってみました。

macOS 11.4 上で行いました。

まずは、OSSのOCRエンジンとコマンドラインプロンプトである tesseract-ocr をインストールします。

インストール方法は、https://rooter.jp/ml/tesseract-with-mac/ を参考にしました。

続いて、OCRの結果から10桁の数値を抜き出すシェルスクリプトを作成し、 pickup というファイル名で保存します。

#!/bin/sh

if [ $# -lt 1 ]; then
    echo "Usage: pickup file [...]"
    exit 1
fi

for arg in "$@"; do
    tesseract ${arg} - 2>/dev/null | grep -E "\b[0-9]{10}\b" | sed -r "s/^.*([0-9]{10}).*$/${arg}: \1/g"
done

実行権限も付与しておきます。

$ chmode +x pickup

 ターミナルにて、対象となる画像ファイルを引数に指定して実行すると、画像を読み込んで、10桁の数値が見つかれば、それを表示します。

$ ./pickup IMG*
IMG_1385.png: 4386015112
IMG_1387.PNG: 4386015112
IMG_1388.PNG: 8267761977
 

Leave a Comment