はじめに
uniOCRはmediar-aiチームによって開発されたオープンソースのテキスト認識ツールです。Rust言語をベースにしており、macOS、Windows、Linuxをサポートしている。uniOCRの主な特徴は、クロスプラットフォームのサポートと統一されたインターフェースデザインです。Vision Kit for macOS、Windows OCR、Tesseractなど複数のOCRエンジンを統合し、クラウドOCRもサポートしている。プロジェクトのコードは公開されており、ユーザーが自由に修正・拡張することができます。
機能一覧
- macOS、Windows、Linuxシステムをサポートし、クロスプラットフォームで動作します。
- macOS Vision、Windows OCR、Tesseract、Cloud OCRなど、複数のOCRエンジンオプションが利用可能です。
- 単一画像または複数画像からのテキスト抽出をサポートします。
- 異なるOCRエンジン間の切り替えを容易にする統一されたAPIインターフェースを提供する。
- 認識効率を高めるため、非同期操作とバッチ処理をサポート。
- 言語、信頼度のしきい値、タイムアウトなどの設定をカスタマイズできる。
- オープンソースプロジェクトで、ユーザーはコードを閲覧し、修正することができる。
ヘルプの使用
設置プロセス
uniOCRの実行には、Rust環境と関連する依存関係が必要です。以下はその詳細な手順です:
- 錆の設置
- ターミナルを開き、以下のコマンドを入力してRustをインストールする:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- インストールが完了したら
rustc --version
バージョンを確認し、インストールが成功したことを確認する。
- ターミナルを開き、以下のコマンドを入力してRustをインストールする:
- uniOCRソースコードダウンロード
- Gitを使ってプロジェクトをローカルにクローンする:
git clone https://github.com/mediar-ai/uniOCR.git
- プロジェクト・カタログにアクセスする:
cd uniOCR
- Gitを使ってプロジェクトをローカルにクローンする:
- テッセラクトのインストール(オプション)
- Tesseractエンジンを使用したい場合は、追加でインストールする必要があります:
- macOS: 実行中
brew install tesseract
- Ubuntu:実行中
apt-get install tesseract-ocr
- ウィンドウズ:実行中
winget install tesseract
または手動でインストールパッケージをダウンロードしてください。
- macOS: 実行中
- macOS VisionとWindows OCRには追加のインストールは必要ありません。
- Tesseractエンジンを使用したい場合は、追加でインストールする必要があります:
- プロジェクトのコンパイル
- プロジェクト・ディレクトリで実行する:
cargo build --release
- コンパイル後、実行ファイルは
<项目目录>/target/release/
.
- プロジェクト・ディレクトリで実行する:
- ランニングプログラム
- 次のコマンドを入力して開始する:
cargo run --release
- 次のコマンドを入力して開始する:
使用方法
uniOCRは、コード呼び出しによるテキスト認識を可能にします。基本的な操作は以下の通り:
- 写真を準備する
- 認識する画像を配置する(例
test.png
)をプロジェクト・カタログに追加する。
- 認識する画像を配置する(例
- 基本的な例を実行する
- コンパイラ
<项目目录>/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
- プログラムは画像内のテキストを出力する。
- コンパイラ
- OCRエンジンの選択
- 修正
OcrProvider
パラメータでエンジンを切り替える:- macOSビジョン:
OcrProvider::MacOS
- Windows OCR:
OcrProvider::Windows
- テッセラクト
OcrProvider::Tesseract
- macOSビジョン:
- サンプルコード:
let engine = OcrEngine::new(OcrProvider::Tesseract)?;
- 修正
- バッチファイル
- コンパイラ
<项目目录>/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);
- 実行後、認識は設定されたとおりに実行される。
多言語サポート
- 中国語がわかる場合は、Tesseract用の中国語言語パックをインストールする必要があります:
- macOS/Ubuntu: を実行する。
brew install tesseract-lang
もしかしたらapt-get install tesseract-ocr-chi-sim
- Windows: ダウンロード
chi_sim.traineddata
をTesseractのインストールディレクトリに追加します。tessdata
フォルダー - 言語パラメータを
vec!["chi_sim"]
.
パフォーマンス最適化
- uniOCRは、非同期処理と並列処理を採用しています。バッチ認識では、複数の画像を同時に処理し、時間を節約します。
- M4 MacBook Proのような高性能デバイスでは、macOS Visionは毎秒3.2枚の画像を90%の精度で処理できる。
ほら
- 画像は鮮明である必要があり、不鮮明であったり、光が弱かったりすると認識に影響することがある。
- WindowsシステムはWindows 10以上である必要があります。
- クラウドOCR(例:Google Cloud Vision)は、設定に追加の認証情報を必要とし、現時点では完全な公式例は利用できません。
アプリケーションシナリオ
- 文書スキャン
ユーザーは紙文書を撮影し、uniOCRを使ってテキストを抽出し、電子版として保存することができる。 - 多言語翻訳
画像内の外国語を認識した後、翻訳ツールと連携して多言語テキストを生成する。 - 自動化されたワークフロー
開発者は、uniOCRをスクリプトに統合して、画像をバッチ処理し、テキストを抽出することができます。
品質保証
- どのシステムがuniOCRをサポートしていますか?
macOS、Windows 10+、Linuxをサポートし、追加のハードウェアは必要ありません。 - 認識精度を高めるには?
高品質の画像を使用する、信頼度のしきい値を調整する、または適切なOCRエンジンを選択する。 - Tesseractが中国語を認識しない場合はどうすればよいですか?
中国語の言語パックをインストールし、設定する必要があります。languages(vec!["chi_sim"])
.