请使用苹果的视觉框架而不是Swiftocr。它非常快速,准确,更不那么挑剔。
Swiftocr是用Swift撰写的快速而简单的OCR库。它使用神经网络进行图像识别。截至目前,Swiftocr已通过识别短线长字母数字代码(例如DI4C9CM)进行了优化。我们目前支持iOS和OSX。
这是一个非常好的问题。
如果您想识别诗歌或新闻文章(例如Tesseract)的普通文字,但是如果您想识别简短的字母数字代码(例如,礼品卡),我建议您选择Swiftocr,因为那是超过它的地方。
Tesseract用C ++写成30多年。要使用它,您首先必须为其编写Objective-C ++包装器。放缓Tesseract的主要问题是管理内存的方式。存储器分配太多,并释放了速度。
我对包含字母数字代码的50多个难度图像进行了一些测试。令人惊讶的结果。 Swiftocr在每个类别中击败Tesseract。
| Swiftocr | 特塞拉克 | |
|---|---|---|
| 速度 | 0.08秒 | 0.63秒 |
| 准确性 | 97.7% | 45.2% |
| 中央处理器 | 〜30% | 〜90% |
| 记忆 | 45 MB | 73 MB |
Swiftocr可通过可可录提供。要安装它,只需将以下行添加到您的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按钮。现在剩下的唯一的是等待。根据您的设置,这可能需要一半到两分钟。大约两分钟后,您可以手动停止培训。按Save按钮将将训练有素的网络保存到您的桌面。 Test按钮用于评估训练有素的神经网络的准确性。
这是一个示例图像。 Swiftocr毫无疑问。如果您尝试使用tesseract识别相同的图像,则输出为“ labmensw'?!?!?。

由于两个原因,很难识别此图像:
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.
注意:该软件取决于可能在不同的开源许可下获得许可的其他软件包。