Utilice el marco de visión de Apple en lugar de swiftocr. Es muy rápido, preciso y mucho menos quisquilloso.
Swiftocr es una biblioteca OCR rápida y simple escrita en Swift. Utiliza una red neuronal para el reconocimiento de imágenes. A partir de ahora, Swiftocr está optimizado para reconocer códigos alfanuméricos cortos de una línea (por ejemplo, por ejemplo, DI4C9CM). Actualmente admitimos iOS y OS X.
Esta es una muy buena pregunta.
Si desea reconocer el texto normal como un poema o un artículo de noticias, vaya con Tesseract, pero si desea reconocer códigos alfanuméricos cortos (por ejemplo, tarjetas de regalo), le aconsejaría que elija Swiftocr porque ahí es donde excede.
Tesseract está escrito en C ++ y más de 30 años. Para usarlo, primero debe escribir un envoltorio Objective-C ++ para él. El problema principal que está ralentizando Tesseract es la forma en que se gestiona la memoria. Demasiadas asignaciones de memoria y liberaciones lo ralentizan.
Hice algunas pruebas en más de 50 imágenes difíciles que contienen códigos alfanuméricos. Los resultados donde asombroso. Swiftocr Beat Tesseract en cada categoría.
| Swiftocr | Tesseract | |
|---|---|---|
| Velocidad | 0.08 seg. | 0.63 seg. |
| Exactitud | 97.7% | 45.2% |
| UPC | ~ 30% | ~ 90% |
| Memoria | 45 MB | 73 MB |
Swiftocr está disponible a través de Cocoapods. Para instalarlo, simplemente agregue la siguiente línea a su Podfile:
pod 'SwiftOCR'
Si alguna vez usó Tesseract, sabe lo agotador que puede ser implementar OCR en su proyecto. Swiftocr es exactamente lo contrario de Tesseract. Se puede implementar utilizando solo 6 líneas de código .
import SwiftOCR
let swiftOCRInstance = SwiftOCR ( )
swiftOCRInstance . recognize ( myImage ) { recognizedString in
print ( recognizedString )
} Para mejorar su experiencia con Swiftocr, debe establecer su configuración de compilación en Release .
Entrenar Swiftocr es bastante fácil. Solo hay unos pocos pasos que debe hacer, antes de que pueda reconocer una nueva fuente.
La forma más fácil de entrenar a Swiftocr es usar la aplicación de entrenamiento que se puede encontrar en /example/OS X/SwiftOCR Training . Primero seleccione las fuentes que desea entrenar desde la lista. Después de eso, puede cambiar los caracteres que desea entrenar en el campo de texto. Finalmente, debe presionar el botón Start Testing . Lo único que queda ahora es esperar. Dependiendo de su configuración, esto puede tomar entre la mitad y dos minutos. Después de unos dos minutos, puede detener manualmente el entrenamiento. Al presionar el botón Save guardará la red entrenada en su escritorio. El botón Test se utiliza para evaluar la precisión de la red neuronal entrenada.
Aquí hay una imagen de ejemplo. Swiftocr no tiene problemas para reconocerlo. Si intenta reconocer la misma imagen usando Tesseract, la salida es 'Labmensw'?!?!?.

Esta imagen es difícil de reconocer por dos razones:
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.
Nota : Este software depende de otros paquetes que puedan tener licencia con diferentes licencias de código abierto.