AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

uniOCR: plattformübergreifendes Open-Source-Tool zur Texterkennung

Allgemeine Einführung

uniOCR ist ein Open-Source-Tool zur Texterkennung, das vom mediar-ai-Team entwickelt wurde. Es basiert auf der Sprache Rust und unterstützt macOS, Windows und Linux. Benutzer können damit Text aus Bildern extrahieren, die Bedienung ist einfach und kostenlos. Die Hauptmerkmale von uniOCR sind die plattformübergreifende Unterstützung und das einheitliche Oberflächendesign. Es integriert mehrere OCR-Engines, darunter Vision Kit für macOS, Windows OCR und Tesseract, und unterstützt auch Cloud OCR, das sowohl von Einzelanwendern als auch von Entwicklern genutzt werden kann, um Bild- und Texterkennungsaufgaben schnell zu erledigen. Der Projektcode ist offen, so dass die Nutzer ihn frei ändern und erweitern können.

uniOCR: plattformübergreifendes Open-Source-Tool zur Texterkennung-1


 

Funktionsliste

  • Unterstützt macOS, Windows und Linux-Systeme und läuft plattformübergreifend.
  • Es stehen mehrere OCR-Engine-Optionen zur Verfügung: macOS Vision, Windows OCR, Tesseract und Cloud OCR.
  • Unterstützt die Extraktion von Text aus einem einzelnen Bild oder mehreren Bildern.
  • Bereitstellung einer einheitlichen API-Schnittstelle, um den Wechsel zwischen verschiedenen OCR-Engines zu erleichtern.
  • Unterstützung von asynchronem Betrieb und Stapelverarbeitung zur Steigerung der Erkennungseffizienz.
  • Ermöglicht die Anpassung von Einstellungen wie Sprache, Vertrauensschwellen und Zeitüberschreitungen.
  • Open-Source-Projekt, Benutzer können den Code einsehen und ändern.

 

Hilfe verwenden

Einbauverfahren

uniOCR benötigt eine Rust-Umgebung und entsprechende Abhängigkeiten, um ausgeführt werden zu können. Nachfolgend finden Sie die detaillierten Schritte:

  1. Einbau von Rost
    • Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, um Rust zu installieren:
      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
      
    • Nachdem die Installation abgeschlossen ist, führen Sie rustc --version Überprüfen Sie die Version, um sicherzustellen, dass die Installation erfolgreich war.
  2. uniOCR-Quellcode herunterladen
    • Klonen Sie das Projekt lokal mit Git:
      git clone https://github.com/mediar-ai/uniOCR.git
      
    • Rufen Sie den Projektkatalog auf:
      cd uniOCR
      
  3. Tesseract installieren (optional)
    • Wenn Sie die Tesseract-Engine verwenden möchten, müssen Sie diese zusätzlich installieren:
      • macOS: läuft brew install tesseract
      • Ubuntu: läuft apt-get install tesseract-ocr
      • Windows: läuft winget install tesseract oder laden Sie das Installationspaket manuell herunter.
    • Für macOS Vision und Windows OCR ist keine zusätzliche Installation erforderlich.
  4. Kompilieren von Projekten
    • Im Projektverzeichnis ausführen:
      cargo build --release
      
    • Nach der Kompilierung befindet sich die ausführbare Datei unter <项目目录>/target/release/.
  5. laufendes Programm
    • Geben Sie zum Starten den folgenden Befehl ein:
      cargo run --release
      

Wie zu verwenden

uniOCR ermöglicht die Texterkennung durch Codeaufrufe. Im Folgenden wird die grundlegende Funktionsweise beschrieben:

  1. Bereiten Sie das Bild vor
    • Platzieren Sie das zu erkennende Bild (z. B. test.png) in den Projektkatalog.
  2. Führen Sie das Basisbeispiel aus
    • Compiler <项目目录>/examples/basic.rsDer Code lautet wie folgt:
      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(())
      }
      
    • Führen Sie das Beispiel aus:
      cargo run --example basic
      
    • Das Programm gibt den Text im Bild aus.
  3. OCR-Engine auswählen
    • Änderungen OcrProvider um die Motoren zu wechseln:
      • macOS Vision:OcrProvider::MacOS
      • Windows OCR:OcrProvider::Windows
      • Tesserakt:OcrProvider::Tesseract
    • Beispiel-Code:
      let engine = OcrEngine::new(OcrProvider::Tesseract)?;
      
  4. Stapeldatei
    • Compiler <项目目录>/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(())
      }
      
    • Laufen:
      cargo run --example batch_processing
      

Featured Function Bedienung

Benutzerdefinierte Einstellungen

  • uniOCR unterstützt die Anpassung der Erkennungsparameter. Beispiel-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);
  • Nach der Ausführung wird die Erkennung wie eingestellt ausgeführt.

Unterstützung mehrerer Sprachen

  • Wenn Sie Chinesisch erkennen, müssen Sie das chinesische Sprachpaket für Tesseract installieren:
  • macOS/Ubuntu: Führen Sie das brew install tesseract-lang vielleicht apt-get install tesseract-ocr-chi-sim
  • Windows: Herunterladen chi_sim.traineddata im Tesseract-Installationsverzeichnis. tessdata Mappe.
  • Setzen Sie den Parameter Sprache auf vec!["chi_sim"].

Leistungsoptimierung

  • uniOCR verwendet asynchronen Betrieb und Parallelverarbeitung. Bei der Stapelerkennung verarbeitet das Programm mehrere Bilder gleichzeitig, um Zeit zu sparen.
  • Auf Hochleistungsgeräten wie dem M4 MacBook Pro kann macOS Vision 3,2 Bilder pro Sekunde mit einer Genauigkeit von 90% verarbeiten.

caveat

  • Die Bilder müssen klar sein, Unschärfe oder schlechte Lichtverhältnisse können die Erkennung beeinträchtigen.
  • Windows-Systeme müssen Windows 10 oder höher sein.
  • Für Cloud OCR (z. B. Google Cloud Vision) müssen zusätzliche Anmeldeinformationen konfiguriert werden, und ein vollständiges offizielles Beispiel ist derzeit nicht verfügbar.

 

Anwendungsszenario

  1. Scannen von Dokumenten
    Benutzer können ein Papierdokument abfotografieren, den Text mit uniOCR extrahieren und als elektronische Version speichern.
  2. mehrsprachige Übersetzung
    Nach der Erkennung der Fremdsprache im Bild arbeitet es mit Übersetzungswerkzeugen, um mehrsprachigen Text zu erstellen.
  3. Automatisierte Arbeitsabläufe
    Entwickler können uniOCR in Skripte integrieren, um Bilder im Stapel zu verarbeiten und Text zu extrahieren.

 

QA

  1. Welche Systeme unterstützen uniOCR?
    Unterstützt macOS, Windows 10+ und Linux, ohne dass zusätzliche Hardware erforderlich ist.
  2. Wie lässt sich die Erkennungsgenauigkeit verbessern?
    Verwenden Sie qualitativ hochwertige Bilder, passen Sie die Konfidenzschwellen an, oder wählen Sie eine geeignete OCR-Engine.
  3. Was soll ich tun, wenn Tesseract Chinesisch nicht erkennt?
    Chinesische Sprachpakete müssen installiert und eingestellt werden languages(vec!["chi_sim"]).
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " uniOCR: plattformübergreifendes Open-Source-Tool zur Texterkennung
de_DEDeutsch