請使用蘋果的視覺框架而不是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.
注意:該軟件取決於可能在不同的開源許可下獲得許可的其他軟件包。