驚愕のコスパ!エンジニアがUmi-OCRを溺愛する3つの理由
Umi-OCRは、ソフトウェア開発の現場で「こんな機能が欲しかったんだよ!」と叫びたくなるほど便利なツールです。その「激安」っぷりは、単に無料なだけでなく、開発コストや時間を大幅に節約できる点にあります。
オフラインで使える
開発中の機密情報や個人情報を扱う場合、外部のAPIに送信するのはセキュリティリスクが高すぎます。Umi-OCRは完全にオフラインで動作するため、安心して利用できます。
無料かつオープンソース
商用利用もOKな無料のOCRサービスは多々ありますが、ほとんどが従量課金制だったり、API利用に制限があったりします。Umi-OCRはオープンソースなので、ライセンス料を気にすることなく、何度でも、どこでも使えます。
高精度で多機能
無料ツールだと「精度がイマイチ…」ということもありますが、Umi-OCRは高精度な文字認識に加え、PDFからの文字抽出、QRコードの読み取り、さらには透かしやヘッダー・フッターの除去機能まで備えています。これらの機能をゼロから開発しようとすると、莫大な時間と労力がかかります。
Umi-OCRをプロジェクトに導入する方法はいくつかありますが、開発で使いやすいのはコマンドラインツールとして利用する方法です。
Umi-OCRのPython版を使用するには、まずPythonが必要です。公式ページからダウンロードしてインストールしてください。
pipを使って簡単にインストールできます。
pip install umi-ocr
文字認識のためのモデルを別途ダウンロードする必要があります。コマンドを実行すると、自動でダウンロードが始まります。
umi-ocr-cli download
Pythonを使えば、驚くほど簡単にOCR機能が実装できます。ここでは、基本的な使い方と応用例を紹介します。
画像ファイルimage.pngから文字を読み取る例です。
from umi_ocr.umi_cli import UmiOcr
# Umi-OCRのインスタンスを作成
ocr = UmiOcr()
# 画像ファイルのパスを指定
image_path = "image.png"
# OCRを実行
result = ocr.run(image_path)
# 認識結果を出力
for r in result:
print(r.text)
PDFファイルdocument.pdfから文字を抽出し、テキストファイルに保存する例です。
from umi_ocr.umi_cli import UmiOcr
# Umi-OCRのインスタンスを作成
ocr = UmiOcr()
# PDFファイルのパスを指定
pdf_path = "document.pdf"
# OCRを実行
result = ocr.run(pdf_path)
# 認識結果をテキストファイルに書き込み
with open("output.txt", "w", encoding="utf-8") as f:
for page_result in result:
for r in page_result:
f.write(r.text + "\n")
このように、Umi-OCRを使えば、わずか数行のコードで高機能なOCRシステムを構築できます。
Umi-OCRは、以下のようなさまざまな開発シーンで役立ちます。
自動テスト
GUIテストで画面上のテキストを読み取り、検証する。
データ入力の自動化
スキャンした書類から必要な情報を自動で抽出し、データベースに登録する。
画像検索
画像内の文字をインデックス化し、文字ベースで画像を検索できるようにする。
アクセシビリティ向上
画面の読み上げ機能がないアプリケーションのテキストを読み取り、音声で提供する。