Пожалуйста, используйте структуру видения Apple вместо Swiftocr. Это очень быстро, точнее и гораздо менее привередливое.
Swiftocr - это быстрая и простая библиотека OCR, написанная в Swift. Он использует нейронную сеть для распознавания изображений. На данный момент Свифтокра оптимизирован для распознавания коротких, одной линии длинных буквенно -цифровых кодов (например, DI4C9CM). В настоящее время мы поддерживаем iOS и OS X.
Это действительно хороший вопрос.
Если вы хотите распознать нормальный текст, как стихотворение или новостная статья, перейдите с Tesseract, но если вы хотите распознать короткие, буквенно -цифровые коды (например, подарочные карты), я бы посоветовал вам выбрать Swiftocr, потому что это то, где он превышает.
Tesseract написан в C ++ и старше 30 лет. Чтобы использовать его, сначала нужно написать для нее обертку Objective-C ++. Основная проблема, которая замедляет Tesseract, - это способ управления памятью. Слишком много распределений памяти и выпускает его замедление.
Я провел несколько тестирования на более чем 50 сложных изображениях, содержащих буквенно -цифровые коды. Результаты, где удивительные. Swiftocucre Beat Tesseract в каждой категории.
| Swiftocr | Tesseract | |
|---|---|---|
| Скорость | 0,08 сек. | 0,63 сек. |
| Точность | 97,7% | 45,2% |
| Процессор | ~ 30% | ~ 90% |
| Память | 45 МБ | 73 МБ |
Свифтокра доступна через кокопод. Чтобы установить его, просто добавьте следующую строку в свой Podfile:
pod 'SwiftOCR'
Если вы когда -либо использовали Tesseract, вы знаете, насколько утомительно может быть внедрение OCR в ваш проект. Swiftoc - полная противоположность 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 используется для оценки точности обученной нейронной сети.
Вот пример изображения. У Свифтокра нет проблем с признанием этого. Если вы попытаетесь распознать одно и то же изображение, используя 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.
Примечание . Это программное обеспечение зависит от других пакетов, которые могут быть лицензированы по различным лицензиям с открытым исходным кодом.