Swiftocrの代わりにAppleのビジョンフレームワークを使用してください。それは非常に速く、正確で、はるかに細かくありません。
Swiftocrは、Swiftで書かれた高速でシンプルなOCRライブラリです。画像認識のためにニューラルネットワークを使用しています。現在のところ、Swiftocrは、短い1行の長い英数字コード(Di4c9cmなど)を認識するために最適化されています。現在、iOSとOS Xをサポートしています。
これは本当に良い質問です。
詩やニュース記事のような通常のテキストを認識したい場合は、Tesseractを使用してください。しかし、短い英数字コード(ギフトカードなど)を認識したい場合は、Swiftocrを選択することをお勧めします。
TesseractはC ++および30年以上にわたって書かれています。それを使用するには、最初にObjective-C ++ラッパーを書く必要があります。テッセラクトを遅くしている主な問題は、メモリの管理方法です。メモリの割り当てが多すぎてリリースが遅くなります。
英数字コードを含む50を超える困難な画像についていくつかのテストを行いました。驚くべき結果。 SwififtocrはすべてのカテゴリでTesseractを破りました。
| Swiftocr | テッセラクト | |
|---|---|---|
| スピード | 0.08秒。 | 0.63秒 |
| 正確さ | 97.7% | 45.2% |
| CPU | 〜30% | 〜90% |
| メモリ | 45 MB | 73 MB |
SwiftocrはCocoapodsから入手できます。インストールするには、次の行をPodfileに追加するだけです。
pod 'SwiftOCR'
Tesseractを使用したことがある場合は、OCRをプロジェクトに実装することがどれほど疲れるかを知っています。 SwiftocrはTesseractの正反対です。わずか6行のコードを使用して実装できます。
import SwiftOCR
let swiftOCRInstance = SwiftOCR ( )
swiftOCRInstance . recognize ( myImage ) { recognizedString in
print ( recognizedString )
} Swiftocrでのエクスペリエンスを向上させるには、ビルド構成をReleaseように設定する必要があります。
Swiftocrのトレーニングは非常に簡単です。新しいフォントを認識する前に、しなければならないステップはわずかです。
SWIFTOCRをトレーニングする最も簡単な方法は/example/OS X/SwiftOCR Trainingの下にあるトレーニングアプリを使用することです。最初に、リストからトレーニングするフォントを選択します。その後、テキストフィールドでトレーニングしたい文字を変更できます。最後に、 Start Testingボタンを押す必要があります。今残っている唯一のものは、待っていることです。設定に応じて、これには0.5分から2分かかる場合があります。約2分後、トレーニングを手動で停止できます。 Saveボタンを押すと、訓練されたネットワークがデスクトップに保存されます。 Testボタンは、訓練されたニューラルネットワークの精度を評価するために使用されます。
これが画像の例です。 Swififtocrはそれを認識することに問題はありません。 Tesseractを使用して同じ画像を認識しようとすると、出力は「Labmensw」?!?!?。

この画像は、2つの理由のために認識するのが困難です。
The code in this repository is licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
注:このソフトウェアは、異なるオープンソースライセンスの下でライセンスされる可能性のある他のパッケージに依存します。