uniOCR : outil de reconnaissance de texte open source multiplateforme
Introduction générale
uniOCR est un outil de reconnaissance de texte open source développé par l'équipe mediar-ai. Il est basé sur le langage Rust et supporte macOS, Windows et Linux. Les utilisateurs peuvent l'utiliser pour extraire du texte à partir d'images, l'opération est simple et gratuite. Les principales caractéristiques d'uniOCR sont le support multiplateforme et la conception d'une interface unifiée. Il intègre plusieurs moteurs d'OCR, dont Vision Kit pour macOS, Windows OCR et Tesseract, et prend également en charge l'OCR en nuage, qui peut être utilisé par les utilisateurs individuels et les développeurs pour traiter rapidement les tâches de reconnaissance d'images et de textes. Le code du projet est ouvert, ce qui permet aux utilisateurs de le modifier et de l'étendre librement.

Liste des fonctions
- Prend en charge les systèmes macOS, Windows et Linux et fonctionne de manière multiplateforme.
- Plusieurs options de moteur d'OCR sont disponibles : macOS Vision, Windows OCR, Tesseract et Cloud OCR.
- Permet d'extraire du texte d'une seule image ou de plusieurs images.
- Fournir une interface API unifiée pour faciliter le passage d'un moteur d'OCR à un autre.
- Prise en charge des opérations asynchrones et du traitement par lots pour améliorer l'efficacité de la reconnaissance.
- Permet de personnaliser les paramètres tels que la langue, les seuils de confiance et les délais d'attente.
- Projet open source, les utilisateurs peuvent consulter et modifier le code.
Utiliser l'aide
Processus d'installation
uniOCR nécessite un environnement Rust et les dépendances associées pour fonctionner. Voici les étapes détaillées :
- Installation de la rouille
- Ouvrez un terminal et entrez la commande suivante pour installer Rust :
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Une fois l'installation terminée, exécutez
rustc --version
Vérifiez la version pour vous assurer que l'installation a réussi.
- Ouvrez un terminal et entrez la commande suivante pour installer Rust :
- Télécharger le code source d'uniOCR
- Cloner le projet localement en utilisant Git :
git clone https://github.com/mediar-ai/uniOCR.git
- Accédez au catalogue de projets :
cd uniOCR
- Cloner le projet localement en utilisant Git :
- Installer Tesseract (optionnel)
- Si vous souhaitez utiliser le moteur Tesseract, vous devez l'installer en plus :
- macOS : en cours
brew install tesseract
- Ubuntu : en cours
apt-get install tesseract-ocr
- Windows : en cours
winget install tesseract
ou téléchargez le paquet d'installation manuellement.
- macOS : en cours
- Aucune installation supplémentaire n'est nécessaire pour macOS Vision et Windows OCR.
- Si vous souhaitez utiliser le moteur Tesseract, vous devez l'installer en plus :
- Compilation des projets
- Exécuter dans le répertoire du projet :
cargo build --release
- Après compilation, l'exécutable se trouve à l'adresse suivante
<项目目录>/target/release/
.
- Exécuter dans le répertoire du projet :
- programme de course
- Entrez la commande suivante pour démarrer :
cargo run --release
- Entrez la commande suivante pour démarrer :
Comment l'utiliser
uniOCR permet la reconnaissance de texte par le biais d'appels de code. Le fonctionnement de base est le suivant :
- Préparer l'image
- Placez l'image à reconnaître (par ex.
test.png
) dans le catalogue de projets.
- Placez l'image à reconnaître (par ex.
- Exécuter l'exemple de base
- compilateur
<项目目录>/examples/basic.rs
Le code est le suivant :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(()) }
- Exécutez l'exemple :
cargo run --example basic
- Le programme affiche le texte dans l'image.
- compilateur
- Sélectionner le moteur d'OCR
- modifications
OcrProvider
pour changer de moteur :- macOS Vision :
OcrProvider::MacOS
- Windows OCR :
OcrProvider::Windows
- Tesseract :
OcrProvider::Tesseract
- macOS Vision :
- Exemple de code :
let engine = OcrEngine::new(OcrProvider::Tesseract)?;
- modifications
- fichier de lot
- compilateur
<项目目录>/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(()) }
- La course à pied :
cargo run --example batch_processing
- compilateur
Fonction en vedette Fonctionnement
Paramètres personnalisés
- uniOCR permet d'ajuster les paramètres de reconnaissance. Exemple de code :
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);
- Après l'exécution, la reconnaissance sera exécutée comme prévu.
Prise en charge multilingue
- Si vous reconnaissez le chinois, vous devez installer le pack linguistique chinois pour Tesseract :
- macOS/Ubuntu : exécutez la commande
brew install tesseract-lang
peut-êtreapt-get install tesseract-ocr-chi-sim
- Windows : Télécharger
chi_sim.traineddata
dans le répertoire d'installation de Tesseract.tessdata
Dossier. - Réglez le paramètre de la langue sur
vec!["chi_sim"]
.
l'optimisation des performances
- uniOCR utilise un fonctionnement asynchrone et un traitement parallèle. Pour la reconnaissance par lots, le programme traite plusieurs images en même temps pour gagner du temps.
- Sur des appareils très performants tels que le MacBook Pro M4, macOS Vision peut traiter 3,2 images par seconde avec une précision de 90%.
mise en garde
- Les images doivent être claires ; les images floues ou faiblement éclairées peuvent nuire à la reconnaissance.
- Les systèmes Windows doivent être de type Windows 10 ou supérieur.
- L'OCR dans le nuage (par exemple Google Cloud Vision) nécessite des informations d'identification supplémentaires pour être configuré, et un exemple officiel complet n'est pas disponible à l'heure actuelle.
scénario d'application
- numérisation de documents
Les utilisateurs peuvent prendre une photo d'un document papier, en extraire le texte à l'aide d'uniOCR et l'enregistrer en tant que version électronique. - traduction multilingue
Après avoir reconnu la langue étrangère dans l'image, il travaille avec des outils de traduction pour générer un texte multilingue. - Flux de travail automatisés
Les développeurs peuvent intégrer uniOCR dans des scripts pour traiter des images par lots et extraire du texte.
QA
- Quels sont les systèmes qui prennent en charge uniOCR ?
Prise en charge de macOS, Windows 10+ et Linux sans matériel supplémentaire. - Comment améliorer la précision de la reconnaissance ?
Utilisez des images de haute qualité, ajustez les seuils de confiance ou choisissez un moteur d'OCR approprié. - Que dois-je faire si Tesseract ne reconnaît pas le chinois ?
Les packs de langues chinoises doivent être installés et paramétréslanguages(vec!["chi_sim"])
.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...