画像データからのテキスト取得
Author: Asao Nakamura
255 views
この記事では、画像のデータから文字を取得する方法を説明します。
画像からテキスト抽出(OCR)を利用する場面
RoboticCrowdでは、画像データからのテキストを抽出するOCR処理が可能です。
請求書や免許書などの画像データから、情報を読み取ることができます。
※PDFからのテキスト抽出も可能です。詳しくはこちらをご覧ください。
ワークフローの設定例
今回は、以下のようなワークフローを作成してみます。
弊社HPのトップ画像のスクリーンショットを取得し、その画像からテキストを取得する。
- 「ブラウザを開く」アクションを設定します。
- URLに以下を入力します
https://tutorial.co.jp/
- TextDetection(画像からテキストを検出する)を設定します。
- 画像ファイルパラメータに、TakeElementShotのアウトプットを指定します。
- 他のパラメータ(モード選択、テキストのみ)は編集せず、そのままとします。
今回の例の場合、TextDetectionのアウトプット(文字列)には、改行が入っています。(本ページ下部のワークフロー実行結果を参照ください)
この改行は、以下の方法で削除できます。
- ReplaceText(検索して置換)を設定します。
- 検索対象に、TextDetectionのアウトプットを指定します。
- 検索クエリに、
\n
を入力します(改行記号)。 - 置き換えるテキストには、何も入力しません(これにより、削除されます)
# ブラウザを開く +open_browser_1: action>: OpenBrowser url: 'https://tutorial.co.jp/' # 要素のスクリーンショットを撮る +take_element_shot_1: action>: TakeElementShot browser: +open_browser_1 selector: 'section.module-cover.parallax.text-center.fullscreen > div.container > div' ignoreError: false # 画像からテキストを検出する +text_detection_1: action>: TextDetection image: +take_element_shot_1 mode: document text_only: true # 検索して置換 +replace_text_1: action>: ReplaceText text: +text_detection_1 find: '\n' use_regex: true replace_with: ''
画像からテキスト以外の情報を抽出する場合
今回は画像の中に存在するテキストのみを抽出しましたが、テキスト以外の情報の抽出も可能です。
抽出できる情報の一例は以下となります。
- 画像中に存在する商品ロゴ
- 画像データの色彩情報
- 画像に不適切なコンテンツが存在するかどうかの情報
- 画像をGoogle画像検索で検索した際に表示されるような、画像から想定される検索ワードや画像の中身の属性情報
- 画像中に存在する人間の顔と感情を抽出(喜怒哀楽など)
これらの詳細については、こちらをご参照ください。
<TextDetection>画像からテキストを抽出する/OCR