uniOCR: herramienta de reconocimiento de texto multiplataforma y de código abierto
Últimos recursos sobre IAPublicado hace 4 meses Círculo de intercambio de inteligencia artificial 1.5K 00
Introducción general
uniOCR es una herramienta de reconocimiento de texto de código abierto desarrollada por el equipo mediar-ai. Está basada en el lenguaje Rust y es compatible con macOS, Windows y Linux. Los usuarios pueden utilizarla para extraer texto de imágenes, el funcionamiento es sencillo y gratuito. Las características principales de uniOCR son el soporte multiplataforma y el diseño unificado de la interfaz. Integra varios motores de OCR, como Vision Kit para macOS, Windows OCR y Tesseract, y también admite OCR en la nube, que puede ser utilizado tanto por usuarios particulares como por desarrolladores para gestionar rápidamente tareas de reconocimiento de imágenes y texto. El código del proyecto es abierto, lo que permite a los usuarios modificarlo y ampliarlo libremente.

Lista de funciones
- Es compatible con los sistemas macOS, Windows y Linux y funciona en varias plataformas.
- Existen varias opciones de motor de OCR: macOS Vision, Windows OCR, Tesseract y Cloud OCR.
- Permite extraer texto de una o varias imágenes.
- Proporcionar una interfaz API unificada para facilitar el cambio entre distintos motores de OCR.
- Admite el funcionamiento asíncrono y el procesamiento por lotes para mejorar la eficacia del reconocimiento.
- Permite personalizar ajustes como el idioma, los umbrales de confianza y los tiempos de espera.
- Proyecto de código abierto, los usuarios pueden ver y modificar el código.
Utilizar la ayuda
Proceso de instalación
uniOCR requiere un entorno Rust y las dependencias relacionadas para ejecutarse. A continuación se detallan los pasos a seguir:
- Instalación de óxido
- Abra un terminal e introduzca el siguiente comando para instalar Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Una vez finalizada la instalación, ejecute
rustc --version
Compruebe la versión para asegurarse de que la instalación se ha realizado correctamente.
- Abra un terminal e introduzca el siguiente comando para instalar Rust:
- Descargar el código fuente de uniOCR
- Clona el proyecto localmente usando Git:
git clone https://github.com/mediar-ai/uniOCR.git
- Vaya al catálogo de proyectos:
cd uniOCR
- Clona el proyecto localmente usando Git:
- Instalar Tesseract (opcional)
- Si desea utilizar el motor Tesseract, deberá instalarlo adicionalmente:
- macOS: en funcionamiento
brew install tesseract
- Ubuntu: en marcha
apt-get install tesseract-ocr
- Windows: en funcionamiento
winget install tesseract
o descargue el paquete de instalación manualmente.
- macOS: en funcionamiento
- No se requiere ninguna instalación adicional para macOS Vision y Windows OCR.
- Si desea utilizar el motor Tesseract, deberá instalarlo adicionalmente:
- Compilación de proyectos
- Ejecutar en el directorio del proyecto:
cargo build --release
- Tras la compilación, el ejecutable se encuentra en
<项目目录>/target/release/
.
- Ejecutar en el directorio del proyecto:
- programa de carrera
- Introduzca el siguiente comando para empezar:
cargo run --release
- Introduzca el siguiente comando para empezar:
Cómo utilizarlo
uniOCR permite el reconocimiento de texto mediante llamadas de código. El funcionamiento básico es el siguiente:
- Preparar la imagen
- Coloque la imagen que desea reconocer (por ejemplo
test.png
) en el catálogo de proyectos.
- Coloque la imagen que desea reconocer (por ejemplo
- Ejecutar el ejemplo básico
- compilador
<项目目录>/examples/basic.rs
El código es el siguiente:use uniocr::{OcrEngine, OcrProvider}; use anyhow::Result; #[tokio::main] async fn main() -> Result<()> { let engine = OcrEngine::new(OcrProvider::Auto)?; let text = engine.recognize_file("test.png").await?; println!("提取的文字: {}", text); Ok(()) }
- Ejecuta el ejemplo:
cargo run --example basic
- El programa muestra el texto de la imagen.
- compilador
- Seleccionar motor OCR
- modificaciones
OcrProvider
para cambiar de motor:- Visión macOS:
OcrProvider::MacOS
- OCR de Windows:
OcrProvider::Windows
- Tesseract:
OcrProvider::Tesseract
- Visión macOS:
- Código de ejemplo:
let engine = OcrEngine::new(OcrProvider::Tesseract)?;
- modificaciones
- archivo por lotes
- compilador
<项目目录>/examples/batch_processing.rs
::use uniocr::{OcrEngine, OcrProvider}; use anyhow::Result; #[tokio::main] async fn main() -> Result<()> { let engine = OcrEngine::new(OcrProvider::Auto)?; let images = vec!["img1.png", "img2.png", "img3.png"]; let results = engine.recognize_batch(images).await?; for (i, text) in results.iter().enumerate() { println!("图片 {} 提取的文字: {}", i + 1, text); } Ok(()) }
- Corriendo:
cargo run --example batch_processing
- compilador
Función destacada Operación
Ajustes personalizados
- uniOCR permite ajustar los parámetros de reconocimiento. Código de ejemplo:
use uniocr::{OcrEngine, OcrProvider, OcrOptions};
let options = OcrOptions::default()
.languages(vec!["eng", "chi_sim"]) // 设置英文和简体中文
.confidence_threshold(0.8) // 置信度阈值
.timeout(std::time::Duration::from_secs(30)); // 超时 30 秒
let engine = OcrEngine::new(OcrProvider::Auto)?.with_options(options);
- Tras la ejecución, el reconocimiento se ejecutará según lo establecido.
Soporte multilingüe
- Si reconoces el chino, necesitas instalar el paquete de idioma chino para Tesseract:
- macOS/Ubuntu: ejecute el programa
brew install tesseract-lang
tal vezapt-get install tesseract-ocr-chi-sim
- Windows: Descargar
chi_sim.traineddata
en el directorio de instalación de Tesseract.tessdata
Carpeta. - Establezca el parámetro de idioma en
vec!["chi_sim"]
.
optimización del rendimiento
- uniOCR utiliza el funcionamiento asíncrono y el procesamiento en paralelo. Para el reconocimiento por lotes, el programa procesa varias imágenes al mismo tiempo para ahorrar tiempo.
- En dispositivos de alto rendimiento como el MacBook Pro M4, macOS Vision puede procesar 3,2 imágenes por segundo con una precisión de 90%.
advertencia
- Las imágenes deben ser claras; las borrosas o con poca luz pueden afectar al reconocimiento.
- Los sistemas Windows deben ser Windows 10 o superior.
- Cloud OCR (por ejemplo, Google Cloud Vision) requiere la configuración de credenciales adicionales, y en este momento no se dispone de un ejemplo oficial completo.
escenario de aplicación
- escaneado de documentos
Los usuarios pueden hacer una foto de un documento en papel, extraer el texto con uniOCR y guardarlo como versión electrónica. - traducción multilingüe
Tras reconocer la lengua extranjera en la imagen, trabaja con herramientas de traducción para generar un texto multilingüe. - Flujos de trabajo automatizados
Los desarrolladores pueden integrar uniOCR en scripts para procesar imágenes por lotes y extraer texto.
CONTROL DE CALIDAD
- ¿Qué sistemas son compatibles con uniOCR?
Compatible con macOS, Windows 10+ y Linux sin necesidad de hardware adicional. - ¿Cómo mejorar la precisión del reconocimiento?
Utilice imágenes de alta calidad, ajuste los umbrales de confianza o elija un motor de OCR adecuado. - ¿Qué debo hacer si Tesseract no reconoce el chino?
Es necesario instalar y configurar los paquetes de idioma chinolanguages(vec!["chi_sim"])
.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...