iOS

【Swift】Tesseract-OCR-iOSを使って文字の読み取り

投稿日:

はじめに

こんにちはsuzukiです。最近案件とは関係ないのですが、swiftでカメラを利用し文字列を認識できないか聞かれることがございました。
MITライセンスでCocoaPodsでインストール可能なTesseract-OCR-iOSを使って試したのですが、想像以上に難航したので記事にしようと思います。

導入準備

Xcode11.3
swift5
TesseractOCRiOS 5.0.1

ライブラリのインポート

CocoaPodsで簡単にライブラリの導入が完了します。Podfileに下記を記述しましょう。

上記を記入し$pod installします。

言語モデルのインポート

私の環境ではこちらのリンク先の.traineddataではエラーが発生してしまいました。色々な記事を確認しているとどうも学習データの文字の解析に使う文字情報のバージョンによってエラーが発生するようです。
とりあえず動く学習データということでチュートリアルのeng.traineddataとfra.traineddataをもとに作業しました。

公式の導入方法ではダウンロードした内容をtessdataフォルダの配下に配置しフォルダごとリファレンスフォルダーとしてアプリ内に配置しております。

カメラを利用する準備

info.Plistに下記の項目を追加しましょう。一部必須ではございません。

レイアウト作成

ざっくりとしたレイアウトです。
・UIImageView:カメラで取得した画像を表示する
・UITextView:分析結果を表示する
・UIButton:UIImagePickerを表示
・UIButton:撮影した画像を分析を行う

カメラ撮影

続いてカメラ周りの処理をViewControllerに記述します。下記のデリゲートを忘れず記述してください。
・UIImagePickerControllerDelegate
・UINavigationControllerDelegate

データ解析

最後に解析ボタンを押した際の動作を作成します。

UIImageのエクステンション

チュートリアルを参考にUIImageのExtensionを作成します。

ボタンタップ時の動作

先ほどのエクステンションを利用しUIImageを加工後解析を行います

さいごに

認証の内容は期待した精度ではなかったです。UIImageの加工をしない場合はほぼ0%でしたが、UIImageの加工を追加することで50%ぐらいになりました。日本語+英語の文字認識をするため、今度日本語の学習データを使う方法があるか調査していきます。

おすすめ書籍

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus 詳解 Swift 第4版 [改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

Sign in with Appleの実装

1 はじめに2 Sign in with Appleとは2.1 iOS レビューガイドライン2.2 つまり3 準備4 実装5 デザイン6 さいごに7 おすすめ書籍 はじめに こんにちは、nukkyです ...

[Swift]プロトコルの拡張で既定値を設定する。

1 はじめに2 プロトコルの拡張について2.1 プロトコルに既定値を設定2.2 プロトコルを設定したクラスの作成2.3 制約をつけてプロトコルに既定値を設定3 さいごに4 おすすめ書籍 はじめに こん ...

iOS13で申請するために押さえておきたいポイント

1 はじめに2 presentViewController3 DeviceToken4 Launch Storyboard5 Dark Mode6 Sign In with Apple7 さいごに8 ...

swift

[Swift]ObjectMapperで簡単にJSONを読み込む

1 はじめに2 準備3 実装3.1 基本的な使い方3.2 ネスト配列に対応してみよう4 さいごに はじめに こんにちは、onukiです。 私はSwiftでJSONを取り扱う際に、 ObjectMapp ...

swift

[Swift 3] テキストの装飾(フォント・文字サイズ・文字間隔・行間・文字色・下線)

1 はじめに2 フォント・文字サイズ変更3 文字間隔4 行間5 文字色6 下線7 さいごに8 おすすめ書籍 はじめに どうもはじめです。 今回は文字の装飾をやってみようと思います。 完成図を載せておき ...

フォロー

follow us in feedly

blog-page_side_responsive

2020年1月
 1234
567891011
12131415161718
19202122232425
262728293031 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。