Biblioteca JavaScript gratuita para analizar texto de imágenes y formularios escaneados
Biblioteca JavaScript de código abierto para Reconocimiento Óptico de Caracteres (OCR) que permite analizar texto de imágenes y documentos escaneados en blanco y negro con preprocesamiento de imágenes y soporte de 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 de 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 integrar funciones de OCR directamente en aplicaciones basadas en navegador o Node.js. La biblioteca incluye varias características importantes, como reconocimiento de caracteres mediante plantillas, umbralizado 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 adecuado para texto bien formateado, como libros o formularios.
Guten OCR es un motor OCR de código abierto escrito en JavaScript 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 los 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 el 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 puedes instalarlo manualmente; descarga los archivos de la última versión directamente del repositorio GitHub.
Preprocesamiento de imágenes antes de operaciones OCR
La biblioteca de OCR Guten de código abierto 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 la 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 la operación de OCR en imágenes.
¿Cómo aplicar el 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 ha proporcionado soporte completo para realizar operaciones de OCR usando plantillas dentro de aplicaciones JavaScript. En el corazón de Guten OCR se encuentra 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 con estas plantillas para encontrar la mejor coincidencia. Lo hace utilizando una combinación de escaneo de líneas verticales y horizontales para localizar cajas delimitadoras.
Segmentación de caracteres mediante la biblioteca OCR
La biblioteca JavaScript de código abierto Guten OCR permite a los desarrolladores de software realizar la segmentación de caracteres con facilidad. Una vez que la imagen está binarizada, el siguiente paso es segmentar los 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 de software pueden realizar la segmentación de caracteres utilizando la biblioteca OCR de JavaScript.
¿Cómo realizar la 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]