テキスト認識表示 (Live Text) が使えるようになった Claris FileMaker 19.5 登場

テキスト認識表示 (Live Text) とは

写真アプリなどで「テキスト認識表示」を使ってテキストをコピーしたり、
翻訳したり、そのまま電話をかけるなど、さまざまなことができます。

iOS 15 、iPadOS 15.1、macOS 12 Monterey から英語や中国語が対応しており、
先日の iOS16、macOS 13 Ventura からは日本語や韓国語に対応すると、先日の WWDC で発表がありました!

OS に付随して画像解析を行ってくれる API が用意されるということは、
OS がアップデートされると同時に解析性能もますます向上していくと思われ、
しかも iOS iPadOS macOS は無料なので、
「高度にアップデートされ続ける画像文字認識APIを無料で使いたい放題」
と言っても過言ではありません!

Claris FileMaker 19.5 の新しい関数「GetLiveText」と「ReadQRCode」

画像から QR コードデータやテキストを読み取り FileMaker ファイルに追加できます。

「GetLiveText」関数に、画像と言語の引数を設定すると、
画像内に含まれる文字列が返されます。

「ReadQRCode」関数に、画像の引数を設定すると、
画像内に含まれるQRコードの文字列が返されます。

超シンプルなのでとても扱いやすいです。

画像切り抜き・画像回転の無料ファイルと組み合わせて!

ただし使いにくい場面もあります。
GetLiveText 関数は画像に含まれているすべての文字を返し、
どの位置から文字を持ってきたかの座標情報はありません。

ReadQRCode 関数は画像に複数のQRコードが含まれていても1つだけの内容を返し、
同じくどの位置にあるQRコードかの座標情報はありませんし、
2つ以上QRコードが含まれている画像で使用するのは現実的ではありません。

そのため伝票画像などから
「ここの1行目の数量の部分の文字がほしい」
「この部分のQRコードがほしい」
といっても FileMaker の標準機能だけではどうすることもできないんです、が、

以前のブログで無料サンプルファイルを公開しています。

画像切り抜き・画像回転の無料ファイル大公開

これを使うとほしい部分だけ画像として抜き出すことができます。
抜き出した部分だけの画像を関数の引数として渡せば、
その部分だけのテキストやQRコードを確実に取得することができるようになります。

手書き文字認識は?

テストした画面キャプチャが次のとおりです。
1番目は FileMaker Go の署名機能をつかって指で書いた文字画像、
2番目は 紙に手書きしたものをカメラ撮影した画像、
3番目は 2番目の紙を300dpiでスキャンした画像、
4番目は テキストを紙に印刷しカメラ撮影した画像、
5番目は 4番目の紙を300dpiでスキャンした画像です。

手書き文字認識はまだ難しいのかなと感じます。
またデータとして活用するのであればカメラ画像ではまだ不向きで、
スキャナでしっかり読み取る必要がありそうです。
最近の手書きなどの文字認識は文字そのものだけでなく、
文脈も含めて解析を補うようになってきており、
どこまで解析能力が向上するか今後に期待したいところです。

動作環境について

Windows 、Ubuntu ではこの関数は動作しません。
使用可能な組み合わせは次のいずれかです。

  • iOS 15 以降の iPhone 上の FileMaker Go 19.5 以降
  • iPadOS 15.1以降の iPad 上の FileMaker Go 19.5以降
  • macOS 12 Monterey以降の Mac 上の FileMaker Pro
  • ※ ReadQRCode 関数はQRコード内の文字列に日本語が入っていても上記の対応環境で動作します。
  • ※ GetLiveText 関数の日本語対応は現状ではかないません。iOS 16、iPadOS 16、macOS 13 Ventura 以降で対応するのではないかと思われます。

非対応であるWindows クライアントや、WebDirect クライアントなどでも、
最新の Mac にインストールした FileMaker Server に対して、
スケジュールによる実行やサーバー上のスクリプト実行で動作させて連携できるかどうか、
また検証したいと思います。

2022.08.08 MacOS Monterey 12.5 、 FileMaker Server 19.5.2 において、
WebDirect 、 サーバー上のスクリプト実行 のいずれもダメでした。
クライアントがドキュメント記載の環境である必要がありそうです。