uniOCR: 크로스 플랫폼 오픈 소스 텍스트 인식 도구

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
10.5K 00

일반 소개

uniOCR은 mediar-ai 팀이 개발한 오픈 소스 텍스트 인식 도구입니다. Rust 언어를 기반으로 하며 macOS, Windows, Linux를 지원합니다. 사용자는 이미지에서 텍스트를 추출하는 데 사용할 수 있으며, 조작이 간단하고 무료입니다. uniOCR의 핵심 기능은 크로스 플랫폼 지원과 통합 인터페이스 디자인입니다. macOS용 비전 키트, Windows OCR, 테서랙트 등 여러 OCR 엔진을 통합하고, 개인 사용자와 개발자 모두 이미지 및 텍스트 인식 작업을 빠르게 처리할 수 있는 클라우드 OCR도 지원합니다. 프로젝트 코드는 공개되어 있어 사용자가 자유롭게 수정하고 확장할 수 있습니다.

uniOCR:跨平台开源的文字识别工具

 

기능 목록

  • macOS, Windows 및 Linux 시스템을 지원하며 크로스 플랫폼에서 실행됩니다.
  • 여러 OCR 엔진 옵션을 사용할 수 있습니다: macOS Vision, Windows OCR, 테서랙트 및 클라우드 OCR.
  • 단일 이미지 또는 여러 이미지에서 텍스트 추출을 지원합니다.
  • 다양한 OCR 엔진 간의 전환을 용이하게 하는 통합 API 인터페이스를 제공합니다.
  • 비동기 작업 및 일괄 처리를 지원하여 인식 효율성을 높입니다.
  • 언어, 신뢰도 임계값, 시간 초과 등의 설정을 사용자 지정할 수 있습니다.
  • 오픈 소스 프로젝트에서 사용자는 코드를 보고 수정할 수 있습니다.

 

도움말 사용

설치 프로세스

uniOCR을 실행하려면 Rust 환경 및 관련 종속성이 필요합니다. 자세한 단계는 다음과 같습니다:

  1. Rust 설치
    • 터미널을 열고 다음 명령을 입력하여 Rust를 설치합니다:
      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
      
    • 설치가 완료되면 다음을 실행합니다. rustc --version 버전을 확인하여 설치가 성공적으로 완료되었는지 확인합니다.
  2. uniOCR 소스 코드 다운로드
    • Git을 사용하여 프로젝트를 로컬에 복제합니다:
      git clone https://github.com/mediar-ai/uniOCR.git
      
    • 프로젝트 카탈로그로 이동합니다:
      cd uniOCR
      
  3. 테서랙트 설치(선택 사항)
    • 테서랙트 엔진을 사용하려면 추가로 설치해야 합니다:
      • macOS: 실행 중 brew install tesseract
      • 우분투: 실행 중 apt-get install tesseract-ocr
      • Windows: 실행 중 winget install tesseract 를 클릭하거나 설치 패키지를 수동으로 다운로드하세요.
    • macOS Vision 및 Windows OCR에는 추가 설치가 필요하지 않습니다.
  4. 프로젝트 컴파일하기
    • 프로젝트 디렉토리에서 실행합니다:
      cargo build --release
      
    • 컴파일 후 실행 파일은 다음 위치에 있습니다. <项目目录>/target/release/.
  5. 실행 중인 프로그램
    • 시작하려면 다음 명령을 입력합니다:
      cargo run --release
      

사용 방법

uniOCR은 코드 호출을 통해 텍스트 인식을 가능하게 합니다. 기본 작동 방식은 다음과 같습니다:

  1. 사진 준비
    • 인식할 이미지를 배치합니다(예 test.png)를 프로젝트 카탈로그에 추가합니다.
  2. 기본 예제 실행
    • 컴파일러 <项目目录>/examples/basic.rs코드는 다음과 같습니다:
      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(())
      }
      
    • 예제를 실행합니다:
      cargo run --example basic
      
    • 프로그램이 이미지의 텍스트를 출력합니다.
  3. OCR 엔진 선택
    • 수정 OcrProvider 매개변수를 사용하여 엔진을 전환합니다:
      • macOS Vision:OcrProvider::MacOS
      • Windows OCR:OcrProvider::Windows
      • 테서랙트:OcrProvider::Tesseract
    • 샘플 코드:
      let engine = OcrEngine::new(OcrProvider::Tesseract)?;
      
  4. 배치 파일
    • 컴파일러 <项目目录>/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(())
      }
      
    • 실행 중입니다:
      cargo run --example batch_processing
      

주요 기능 작동

사용자 지정 설정

  • uniOCR은 인식 매개변수 조정을 지원합니다. 샘플 코드:
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);
  • 실행 후 설정한 대로 인식이 실행됩니다.

다국어 지원

  • 중국어를 인식할 수 있는 경우 테서랙트용 중국어 팩을 설치해야 합니다:
  • macOS/Ubuntu: 다음을 실행합니다. brew install tesseract-lang 어쩌면 apt-get install tesseract-ocr-chi-sim
  • Windows: 다운로드 chi_sim.traineddata 를 설치합니다. tessdata 폴더.
  • 언어 매개 변수를 다음과 같이 설정합니다. vec!["chi_sim"].

성능 최적화

  • uniOCR은 비동기 작업과 병렬 처리를 사용합니다. 일괄 인식을 위해 여러 이미지를 동시에 처리하여 시간을 절약합니다.
  • M4 MacBook Pro와 같은 고성능 기기에서 macOS Vision은 초당 3.2장의 이미지를 90%의 정확도로 처리할 수 있습니다.

주의

  • 이미지가 선명해야 하며 흐릿하거나 조명이 어두우면 인식에 영향을 줄 수 있습니다.
  • Windows 시스템은 Windows 10 이상이어야 합니다.
  • 클라우드 OCR(예: Google Cloud Vision)을 사용하려면 추가 자격 증명을 구성해야 하며, 현재 공식 예제는 제공되지 않습니다.

 

애플리케이션 시나리오

  1. 문서 스캔
    사용자는 종이 문서를 사진으로 찍고 uniOCR을 사용하여 텍스트를 추출한 후 전자 버전으로 저장할 수 있습니다.
  2. 다국어 번역
    이미지의 외국어를 인식한 후 번역 도구와 함께 작동하여 다국어 텍스트를 생성합니다.
  3. 자동화된 워크플로
    개발자는 uniOCR을 스크립트에 통합하여 이미지를 일괄 처리하고 텍스트를 추출할 수 있습니다.

 

QA

  1. 어떤 시스템이 uniOCR을 지원하나요?
    추가 하드웨어 없이 macOS, Windows 10+ 및 Linux를 지원합니다.
  2. 인식 정확도를 높이려면 어떻게 해야 하나요?
    고품질 이미지를 사용하거나, 신뢰도 임계값을 조정하거나, 적합한 OCR 엔진을 선택하세요.
  3. 테서랙트가 중국어를 인식하지 못하면 어떻게 하나요?
    중국어 팩을 설치 및 설정해야 합니다. languages(vec!["chi_sim"]).
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...