この記事のポイント
- Gemini・Dots-OCR・EasyOCRの3ツールで同じ名刺10枚を読み取り比較
- LLM-OCRと従来OCRで「得意・不得意」が明確に分かれる結果に
- 用途別のおすすめツールを具体的に提示
はじめに
「名刺をOCRで読み取りたいけど、どのツールを使えばいいの?」
名刺OCRに使えるツールは数多くありますが、大きく分けると LLM型(Geminiなど) と 従来型(Dots-OCR、EasyOCRなど) の2種類があります。
本記事では、同じ名刺10枚(IT・企業・医療・飲食など業種別)を3つのツールで読み取り、精度・速度・コストを比較しました。
比較するツール
| ツール | タイプ | 特徴 |
|---|---|---|
| Gemini 2.0 Flash | LLM-OCR | マルチモーダルLLM。画像を理解し構造化データとして出力 |
| Dots-OCR | 従来OCR(DL型) | HuggingFace公開のTransformerベースOCR。座標付きで出力 |
| EasyOCR | 従来OCR(DL型) | Pythonライブラリ。80以上の言語に対応。ローカル実行可能 |
テスト環境
| 項目 | 内容 |
|---|---|
| テストデータ | 名刺PDF 10枚(IT・企業・医療・和風・飲食など) |
| Gemini | Vertex AI / gemini-2.0-flash |
| Dots-OCR | HuggingFace Spaces版 |
| EasyOCR | Python 3.12 / easyocr 1.7 / ローカル実行 |
| マシン | MacBook(Apple Silicon) |
検証結果
サンプル1:企業名刺(一般的なビジネス名刺)

Gemini 2.0 Flash の出力:
{
"会社名": "田中システムズ",
"部署": "",
"役職": "代表取締役社長",
"氏名": "田中太郎",
"電話番号": "03-1234-5678",
"メールアドレス": "t.tanaka@tanaka-systems.co.jp",
"住所": "〒100-0001 東京都千代田区千代田1-1-1 千代田ビル5F",
"URL": "",
"その他": "携帯 090-1234-5678\nFAX 03-1234-5679"
}
プロンプトで指示したJSON形式どおりに、項目ごとに整理された出力です。処理時間は約5.6秒でした。
Dots-OCR の出力(HuggingFace Spaces):
[
{"bbox": [120, 25, 380, 55], "text": "株式会社 田中システムズ"},
{"bbox": [130, 58, 370, 78], "text": "TANAKA SYSTEMS, INC."},
{"bbox": [180, 100, 310, 135], "text": "田中 太郎"},
{"bbox": [185, 138, 305, 155], "text": "TARO TANAKA"},
{"bbox": [175, 160, 320, 178], "text": "代表取締役社長"},
{"bbox": [150, 200, 400, 218], "text": "〒100-0001"},
{"bbox": [150, 220, 420, 238], "text": "東京都千代田区千代田1-1-1"},
{"bbox": [150, 240, 350, 258], "text": "千代田ビル5F"},
{"bbox": [150, 268, 320, 285], "text": "TEL 03-1234-5678"},
{"bbox": [150, 288, 320, 305], "text": "FAX 03-1234-5679"},
{"bbox": [150, 308, 350, 325], "text": "携帯 090-1234-5678"},
{"bbox": [150, 335, 420, 352], "text": "Mail t.tanaka@tanaka-systems.co.jp"}
]
テキスト認識は正確ですが、出力は座標(bbox)+テキストのみで、「会社名」「氏名」といった項目分類は行われません。データベースに取り込むには、座標や文字列のルールを使った後処理が必要です。
EasyOCR の出力:
株式会社 田中システムズ
TANAKA SYSTENIS,INC
田中 太郎
TARO TANAKA
代表取締役社長
100-0001 東京都千代田区千代田1-1-1 千代田ビル5F
TEL
03-1234-5678
FAX
03-1234-5679
帯
090-1234-5678
Nlail
ttanaka@tanaka-systemscojp
テキストは概ね認識されていますが、「SYSTEMS」→「SYSTENIS」、「Mail」→「Nlail」、メールアドレスの「.」が消える(ttanaka@tanaka-systemscojp)など、英字・記号の誤認識が見られます。処理時間は約4.1秒でした。
サンプル2:和食料理店(和風デザイン名刺)

Gemini の出力:
{
"会社名": "花月",
"部署": "",
"役職": "料理長 / オーナー",
"氏名": "小川誠",
"電話番号": "075-234-5678",
"メールアドレス": "info@kagetsu-kyoto.jp",
"住所": "〒600-8001 京都府京都市下京区四条通河原町東入ル 花月ビル1F",
"その他": "予約 075-234-5679\n営業時間\n昼11:30-14:00\n夜 17:00-22:00"
}
「にほんりょうり かげつ」を店名のフリガナとして解釈し、営業時間や予約番号を「その他」に分類。文脈を理解した上での分類が行われています。処理時間は約3.5秒でした。
Dots-OCR の出力(HuggingFace Spaces):
[
{"bbox": [85, 30, 260, 80], "text": "花月"},
{"bbox": [90, 85, 255, 105], "text": "にほんりょうり かげつ"},
{"bbox": [140, 130, 280, 155], "text": "料理長 / オーナー"},
{"bbox": [155, 160, 265, 190], "text": "小川 誠"},
{"bbox": [155, 195, 265, 212], "text": "MAKOTO OGAWA"},
{"bbox": [100, 240, 340, 258], "text": "〒600-8001"},
{"bbox": [100, 260, 380, 278], "text": "京都府京都市下京区四条通河原町東入ル"},
{"bbox": [100, 280, 250, 298], "text": "花月ビル1F"},
{"bbox": [100, 310, 250, 328], "text": "TEL 075-234-5678"},
{"bbox": [100, 330, 250, 348], "text": "予約 075-234-5679"},
{"bbox": [100, 360, 300, 378], "text": "Mail info@kagetsu-kyoto.jp"},
{"bbox": [280, 310, 400, 328], "text": "営業時間"},
{"bbox": [280, 330, 400, 348], "text": "昼 11:30-14:00"},
{"bbox": [280, 348, 400, 366], "text": "夜 17:00-22:00"}
]
筆文字風の「花月」も正確に認識されています。EasyOCRでは「MAKOTO」→「NAKOTO」となった英字も正しく認識。ただし、Geminiのように「営業時間」を意味的にまとめる機能はなく、テキストが座標順に羅列されます。
EasyOCR の出力:
花月
にほんりょうり かげつ
料理長 / オーナー
小川 誠
NAKOTO OGAVVA
600-8001 京都府京都市下京区四条通河原町東入ル 花月ビルほF
営業時間
TEL
075-234-5678
昼 11.30
14.00
予約
075-234-5679
17.00
22.00
Mail
info@kagetsu-kyotojp
「花月」の筆文字風フォントは正しく認識されましたが、「MAKOTO OGAWA」→「NAKOTO OGAVVA」、「1F」→「ほF」、メールの「.」消失など、英字・記号の誤認識が見られます。処理時間は約3.5秒でした。
全10枚の精度比較
項目別の正答率(文字認識)
| 項目 | Gemini 2.0 Flash | Dots-OCR | EasyOCR |
|---|---|---|---|
| 会社名(日本語) | 10/10 (100%) | 10/10 (100%) | 10/10 (100%) |
| 氏名(日本語) | 10/10 (100%) | 10/10 (100%) | 8/10 (80%) |
| 電話番号 | 10/10 (100%) | 10/10 (100%) | 9/10 (90%) |
| メールアドレス | 10/10 (100%) | 9/10 (90%) | 0/10 (0%) |
| 住所 | 10/10 (100%) | 9/10 (90%) | 7/10 (70%) |
| 英語テキスト | 10/10 (100%) | 8/10 (80%) | 3/10 (30%) |
| 構造化精度 | ◎(JSON) | ―(座標+テキスト) | ―(テキスト羅列) |
- Dots-OCR は日本語の認識精度が高く、EasyOCRで問題だった英字の誤認識(M→Nl など)も少ない結果でした。ただし、一部の長い住所が途中で分割されるケースや、メールアドレスのドメイン部分で誤認識が見られました。
- EasyOCR はメールアドレスの「.」を全件で消失させており、
tanaka@tanaka-systemscojpのように結合されてしまいます。また「Mail」→「Nlail」、「Mobile」→「Nlobile」のような英字の誤認識も頻発しました。
総合スコア
| 評価項目 | Gemini 2.0 Flash | Dots-OCR | EasyOCR |
|---|---|---|---|
| 文字認識精度(日本語) | ◎ | ◎ | ○ |
| 文字認識精度(英字・記号) | ◎ | ○ | △ |
| 構造化(項目分類) | ◎ | ✗ | ✗ |
| 処理速度 | ○(3〜6秒/枚) | ○(3〜5秒/枚) | ○(3〜4秒/枚) |
| コスト | △(従量課金) | ◎(無料) | ◎(無料) |
| オフライン対応 | ✗ | ✗ | ◎ |
| 座標情報 | ✗ | ◎ | ◎ |
なぜ結果にこれだけの差が出るのか
LLM-OCR(Gemini)の強み
Geminiは画像を「見て理解する」モデルです。名刺のレイアウトを把握し、「この位置にあるテキストは住所だろう」「この小さな文字はフリガナだろう」 と文脈から推測します。
そのため、プロンプトで「JSON形式で出力して」と指示するだけで、項目分類まで一括で処理できます。
従来OCR(Dots-OCR / EasyOCR)の強み
従来OCRは「画像中の文字を検出して認識する」ことに特化しています。Dots-OCRはバウンディングボックス(座標)付きで出力されるため、位置ベースの後処理が得意です。
EasyOCRは完全にローカルで動作するため、機密性の高い名刺(未公開の役員名刺など)を外部に送信せずに処理できるメリットがあります。
用途別おすすめ
「名刺を人脈データベースにしたい」→ Gemini
おすすめ:Gemini 2.0 Flash
理由:構造化データ(JSON)を一発で出力できる
コスト:100枚で10円以下
プロンプトで出力形式を指定するだけで、会社名・氏名・連絡先が項目別に整理されたJSONが得られます。後処理のコードが最小限で済みます。
「名刺画像の検索システムを作りたい」→ Dots-OCR
おすすめ:Dots-OCR
理由:座標情報付きで出力されるため、位置ベースの検索が可能
コスト:無料(HuggingFace Spaces)
バウンディングボックス情報を活用すれば、「名刺の右上にあるテキスト=会社名」のようなルールベースの分類が可能です。
「機密名刺をオフラインで処理したい」→ EasyOCR
おすすめ:EasyOCR
理由:完全ローカル実行。データが外部に送信されない
コスト:無料(OSS)
精度は他2ツールに劣りますが、セキュリティが最優先の場合には最適な選択肢です。後処理でGeminiを使い、ローカルOCR結果を構造化する「ハイブリッド方式」も有効です。
ハイブリッド方式:EasyOCR × Gemini
セキュリティと精度を両立したい場合、以下のアプローチがおすすめです。
名刺画像 → [EasyOCR(ローカル)] → テキスト抽出
→ [Gemini API] → テキストを構造化JSON化
この方法なら、名刺画像そのものは外部に送信されず、抽出されたテキスト(個人情報)のみをAPIに渡す形になります。画像よりもリスクを抑えながら、Geminiの構造化能力を活用できます。
まとめ
| 観点 | Gemini 2.0 Flash | Dots-OCR | EasyOCR |
|---|---|---|---|
| 構造化精度 | ◎ JSON出力 | ✗ 座標+テキスト | ✗ テキスト羅列 |
| 日本語認識 | ◎ | ◎ | ○ |
| 英字・記号認識 | ◎ | ○ | △ |
| コスト | △ 従量課金 | ◎ 無料 | ◎ 無料 |
| オフライン | ✗ | ✗ | ◎ |
| おすすめ用途 | DB化・CRM連携 | 位置ベース検索 | 機密文書処理 |
結論: 名刺を「使えるデータ」にしたいなら Gemini 一択です。Dots-OCRは文字認識の精度が高く座標情報も取得できますが、項目分類には後処理が必要です。EasyOCRは英字・メールアドレスの誤認識が多いものの、セキュリティ最優先でオフライン処理が必要な場合には価値があります。
関連記事
- 名刺OCRで人脈データベースを自動作成する方法【Gemini API × Python】
- HuggingFace Dots-OCRの精度検証レポート
- PaddleOCR・Tesseractで印刷文字はどこまで読める?
困ったときは
名刺OCRツールの選定や導入でお困りでしたら、AI DARUMAにご相談ください。貴社のセキュリティ要件とコストに合わせた、最適な構成をご提案いたします。
〒723-0062 広島県三原市本町 1丁目7-29 2階 コワーキングスペースarica内