
光学文字認識は、ラスター画像上のコンテンツを認識するスマートな方法です。古いアーカイブ文献をデジタル形式で保存する必要がある場合、さらに便利になります。数千年前の本は、OCR 操作を使用してデジタルライブラリの形式に変換することで簡単に保存できます。また、長年にわたってこのニーズは普遍的になっています。したがって、この要件を満たすには、すぐに使用できるソフトウェアを使用するか、人間の介入なしに一括操作を実行する必要がある場合は、プログラミング API を使用するのが迅速かつ簡単な方法です。この記事の残りの部分では、Python REST API を使用して画像に対して OCR を実行する手順について説明します。
OCR オンライン REST API
Aspose.OCR Cloud SDK for Python は、ラスター画像 (BMP、JPEG、GIF、PNG、TIFF) の光学文字認識に優れています。OCR 操作を実行すると、文字だけでなくフォント情報も読み取ることができます。X 座標と Y 座標を指定しながら、画像全体または特定の部分に対して OCR を実行できます。光学文字認識が完了すると、応答は XML または JSON 形式で返され、抽出されたテキストは TXT、PDF、および HOCR 形式で保存できます。以下に、いくつかの高度な機能を示します。
- 自動スキュー補正
- 自動および手動のドキュメントレイアウト検出
- 高度な自動画像前処理
- 複数の国際言語をサポート
- ハードウェアリソースなしで高速
サポートされている言語
API は英語に加えて、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語のテキストも完全に認識できます。
サポートされているファイル形式
以下に、OCR 操作用の REST API で現在サポートされているファイル形式の完全なリストを示します。
.bmp、.dib、.jpeg、.jpg、.jpe、.jp2、.png、.webp、.pbm、.pgm、.ppm、.pxm、.pnm .pfm、.sr、.ras、.tiff、.tif、.exr、.hdr、.pic
Python を使用したオンライン OCR
当社の API は REST アーキテクチャに従って開発されているため、このセクションでは cURL コマンドを使用して画像からテキストへの変換について説明します。cURL コマンドは、コンソール経由で REST API にアクセスする柔軟な方法であることがわかっています。前提条件の 1 つは、JWT トークンを生成することです。関連する詳細については、クライアント ID とクライアント シークレットを使用して JWT トークンを取得する方法 を参照してください。
curl -v "https://api.aspose.cloud/oauth2/token" \-X POST \-d "grant_type=client_credentials&client_id=xxxxx-xxxx-xxx-xxxx-&client_secret=xxxxxxxxx" \-H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json"
JWT トークンを取得したら、次のコマンドを使用して、クラウド ストレージにある英語のテキストを含む画像に対して OCR 操作を実行してみてください。
curl -X GET "https://api.aspose.cloud/v3.0/ocr/downsize.jpeg/recognize?language=1" -H "accept: application/json" -H "authorization: Bearer <JWT Token>"
ローカルイメージでの画像からテキストへの変換
このセクションでは、ローカルドライブから読み込まれた画像に対してOCR操作を実行します。
# 完全な例とデータ ファイルについては、https://github.com/aspose-ocr-cloud/aspose-ocr-cloud-python/ をご覧ください。
import os
import asposeocrcloud.api.storage_api
from asposeocrcloud.configuration import Configuration
from asposeocrcloud.api.ocr_api import OcrApi
from asposeocrcloud.models import OCRRect, OCRRegion, OCRRequestData, OCRRequestDataStorage, LanguageGroup
from asposeocrcloud.rest import ApiException
import json as json
class RecognizeFromContent(object):
def __init__(self):
# CADおよびストレージAPIクライアントのセットアップ
with open("config.json") as f:
server_file_info = json.load(f)
config = Configuration( apiKey=server_file_info['AppKey'],
appSid=server_file_info['AppSid'])
self.ocr_api = OcrApi(config)
def recognize_text(self):
file_name = "5.png"
src = os.path.join(os.path.abspath("data/"), file_name)
try:
res = self.ocr_api.post_recognize_from_content(src) # type: asposeocrcloud.models.OcrResponse
return res.text
except ApiException as ex:
print("Exception")
print("Info: " + str(ex))
raise ex
obj=RecognizeFromContent()
print(obj.recognize_text())
クラウド ストレージからの画像に対する Python OCR
Python コード スニペットを使用して、クラウド ストレージから画像を読み込み、画像 OCR を実行する方法の詳細を学習します。
# 完全な例とデータ ファイルについては、https://github.com/aspose-ocr-cloud/aspose-ocr-cloud-python/ をご覧ください。
import asposeocrcloud.api.storage_api
from asposeocrcloud.configuration import Configuration
from asposeocrcloud.api.ocr_api import OcrApi
from asposeocrcloud.models import OCRRect, OCRRegion, OCRRequestData, OCRRequestDataStorage, LanguageGroup
import json as json
class RecognizeFromStorage(object):
def __init__(self):
# CADおよびストレージAPIクライアントのセットアップ
with open("config.json") as f:
server_file_info = json.load(f)
config = Configuration( apiKey=server_file_info['AppKey'],
appSid=server_file_info['AppSid'])
self.ocr_api = OcrApi(config)
self.storage_api= asposeocrcloud.api.storage_api.StorageApi(config)
def recognize_text(self):
self.storage_api.upload_file("5.png", r"data\5.png")
res = self.ocr_api.get_recognize_from_storage("5.png")
return res.text
obj=RecognizeFromStorage()
print(obj.recognize_text())
URL 上の画像 OCR
Web URL で利用可能な画像に対して光学画像認識を実行する必要がある場合でも、API は完全に対応しており、この機能をサポートしています。API の postrecognizefromurl メソッドを使用して、この要件を満たすことができます。
# 完全な例とデータ ファイルについては、https://github.com/aspose-ocr-cloud/aspose-ocr-cloud-python/ をご覧ください。
import os
import asposeocrcloud.api.storage_api
from asposeocrcloud.configuration import Configuration
from asposeocrcloud.api.ocr_api import OcrApi
from asposeocrcloud.models import OCRRect, OCRRegion, OCRRequestData, OCRRequestDataStorage, LanguageGroup
from asposeocrcloud.rest import ApiException
import json as json
class RecognizeFromURL(object):
def __init__(self):
# CADおよびストレージAPIクライアントのセットアップ
with open("config.json") as f:
server_file_info = json.load(f)
config = Configuration( apiKey=server_file_info['AppKey'],
appSid=server_file_info['AppSid'])
self.ocr_api = OcrApi(config)
def recognize_text(self):
url = "https://upload.wikimedia.org/wikipedia/commons/2/2f/Book_of_Abraham_FirstPage.png"
try:
res = self.ocr_api.post_recognize_from_url(url) # type: asposeocrcloud.models.OcrResponse
return res.text
except ApiException as ex:
print("Exception")
print("Info: " + str(ex))
raise ex
obj=RecognizeFromURL()
print(obj.recognize_text())
結論
この記事では、cURL コマンドと Python コード スニペットを使用してオンラインで OCR を実行する方法について詳しく説明しました。当社の Cloud SDK は MIT ライセンスに基づいて構築されているため、GitHub リポジトリ から完全なソース コードをダウンロードすることを検討してください。このリポジトリには無料のデモも付属しており、実行するには、以下の手順に従ってください。
- SDKをチェックアウトするか、pipから入手してください(pip install aspose-ocr-cloud)
- クライアントIDとクライアントシークレットを設定する
- PythonコンソールDemoまたはUnitTestsを実行する
関連記事
詳細については、以下のリンクにアクセスすることを強くお勧めします。