Biblioteca JavaScript gratuita para analizar texto de imágenes escaneadas y formularios
Biblioteca JavaScript de reconocimiento óptico de caracteres (OCR) de código abierto para analizar texto de imágenes y documentos escaneados en blanco y negro con soporte de preprocesamiento de imágenes y plantillas en aplicaciones web o Node.js.
En el mundo digital moderno, la tecnología de reconocimiento óptico de caracteres (OCR) desempeña un papel crítico al transformar imágenes escaneadas, notas manuscritas o documentos impresos en datos editables y buscables. Para los desarrolladores JavaScript que buscan una solución ligera y de código abierto, Guten OCR ofrece una opción atractiva. Este motor OCR basado en JavaScript está diseñado con la simplicidad en mente, lo que lo hace ideal para incrustar funciones OCR directamente en aplicaciones basadas en navegador o Node.js. La biblioteca incluye varias características importantes, como reconocimiento de caracteres mediante plantillas, umbralado y binarización de imágenes, segmentación de caracteres, coincidencia de plantillas y ensamblado de texto, soporte de código modular, entre otras. Se centra en reconocer texto impreso de documentos escaneados en blanco y negro y es más adecuada para texto bien formateado, como libros o formularios.
Guten OCR es un motor OCR JavaScript de código abierto creado por Gutenye. A diferencia de las herramientas OCR pesadas que requieren dependencias externas o una configuración extensa, Guten OCR está escrito completamente en JavaScript, lo que significa que puede ejecutarse en un navegador web o en el servidor con Node.js. La biblioteca utiliza técnicas básicas de procesamiento de imágenes para segmentar caracteres e identificarlos mediante un sistema de reconocimiento de patrones de caracteres. Aunque aún no compite con motores OCR comerciales como Tesseract en cuanto a soporte multilingüe o de texto manuscrito, su simplicidad y capacidad de personalización lo convierten en una opción fantástica para proyectos educativos, pruebas de concepto o funciones OCR integradas en aplicaciones web personalizadas. A diferencia de Tesseract u otros motores más grandes, Guten OCR es intencionalmente ligero y enfocado, lo que lo convierte en un excelente punto de partida para quienes desean comprender cómo funciona OCR bajo el capó.
Comenzando con Guten OCR
La forma recomendada de instalar Guten OCR es usando Brew. Por favor use el siguiente comando para una instalación sin problemas
Instalar Guten OCR vía Brew
brew install git-lfs Instalar Guten OCR vía GitHub
git clone git@github.com:gutenye/ocr.git También puede instalarlo manualmente; descargue los archivos de la última versión directamente del repositorio de GitHub .
Preprocesamiento de imágenes antes de operaciones OCR
La biblioteca de código abierto Guten OCR está escrita completamente en JavaScript, lo que la hace compatible tanto con entornos de navegador como con Node.js. Incluye funciones integradas de preprocesamiento de imágenes para mejorar la precisión del reconocimiento. Soporta binarización de imágenes (conversión a blanco y negro), reducción de ruido, corrección de inclinación y más. El siguiente ejemplo muestra cómo los desarrolladores pueden aplicar múltiples pasos de preprocesamiento de imágenes antes de realizar una operación OCR en las imágenes.
¿Cómo aplicar preprocesamiento de imágenes antes de la operación OCR mediante la biblioteca JavaScript?
const { preprocess } = require('guten-ocr');
// Apply multiple preprocessing steps
const processedImage = preprocess(imageData, [
'grayscale', // Convert to grayscale
'binarize', // Convert to black and white
'deskew', // Correct skew
'denoise' // Reduce noise
]);
// Then perform OCR on the processed image
ocr.recognize(processedImage).then(/* ... */);
Reconocimiento de caracteres mediante plantillas
La biblioteca JavaScript Guten OCR ofrece soporte completo para realizar operaciones OCR usando plantillas dentro de aplicaciones JavaScript. En el corazón de Guten OCR hay un sistema de coincidencia de plantillas. En lugar de entrenar un modelo de aprendizaje automático, utiliza patrones de caracteres predefinidos. Esto hace que el sistema sea más rápido y fácil de entender, pero más sensible a la consistencia de fuentes y diseños. Para realizar esta tarea, la biblioteca renderiza cada carácter (A–Z, a–z, 0–9, etc.) en un lienzo y luego la matriz binaria de cada carácter se convierte en una plantilla de referencia. Al analizar una imagen, la biblioteca compara los segmentos de la imagen contra estas plantillas para encontrar la mejor coincidencia. Lo hace usando una combinación de escaneo de líneas verticales y horizontales para localizar cuadros delimitadores.
Segmentación de caracteres mediante biblioteca OCR
La biblioteca JavaScript de código abierto Guten OCR permite a los desarrolladores de software realizar segmentación de caracteres con facilidad. Una vez que la imagen está binarizada, el siguiente paso es segmentar caracteres individuales. Guten OCR escanea filas y columnas para detectar regiones con píxeles negros densos, separándolas en posibles caracteres. El siguiente ejemplo demuestra cómo los desarrolladores pueden realizar segmentación de caracteres usando la biblioteca OCR JavaScript.
¿Cómo realizar segmentación de caracteres usando la biblioteca JavaScript?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]