Robotic Crowd

Robotic Crowd

画像データからのテキスト取得

Author: Asao Nakamura 47 views

この記事では、画像のデータから文字を取得する方法を説明します。

画像からテキスト抽出(OCR)を利用する場面

RoboticCrowdでは、画像データからのテキストを抽出するOCR処理が可能です。
請求書や免許書などの画像データから、情報を読み取ることができます。

※PDFからのテキスト抽出も可能です。詳しくはこちらをご覧ください。

 ワークフローの設定例

今回は、以下のようなワークフローを作成してみます。
弊社HPのトップ画像のスクリーンショットを取得し、その画像からテキストを取得する。
  • 「ブラウザを開く」アクションを設定します。
  • URLに以下を入力します
    https://tutorial.co.jp/

テキストの抽出元となる画像を撮影します。

  • 「TakeElementShot(要素のスクリーンショットを取る)」アクションを設定します。
  • CSSセレクタに以下を指定します。
    section.module-cover.parallax.text-center.fullscreen > div.container > div

    (画像位置を右クリックし、CSS Selectorを取得頂ければ取得可能です。)

  • 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

このページは役に立ちましたか?