OCR tiếng Việt: test 50 file scan — độ chính xác theo font, DPI, góc nghiêng

Test OCR 50 file scan tiếng Việt (hóa đơn, giấy tờ, sách): đo tỉ lệ chính xác theo font, DPI, góc nghiêng.

OCR tiếng Việt — nghe thì hay, nhưng chính xác bao nhiêu phần trăm? File scan rõ nét thì OK, nhưng file chụp bằng điện thoại, scan cũ, nghiêng nghiêng thì sao? Có đáng tin để dùng không hay phải ngồi sửa lại từ đầu?

Mình lấy 50 file scan tiếng Việt — đủ loại: hóa đơn, giấy tờ hành chính, trang sách, biên lai — chạy OCR rồi so sánh kết quả với bản gốc. Kết luận: scan rõ nét từ 200 DPI trở lên thì 95-98% chính xác, còn lại thì tùy.

Setup test

Thông sốChi tiết
Số file50 file PDF (scan)
NguồnHóa đơn GTGT cũ (10), giấy tờ hành chính (10), trang sách/tài liệu (10), biên lai/phiếu thu (10), file chụp điện thoại (10)
EngineTesseract 5.3 + model vie (giống AloPDF production)
Cách đánh giáSo sánh output text với bản gốc đánh máy. Tính Character Error Rate (CER)
Ngày test05/2026

Character Error Rate (CER): tỉ lệ ký tự sai / tổng ký tự. CER 2% = cứ 100 ký tự thì sai 2 ký tự. CER 5% trở xuống mình coi là dùng được (sửa ít). CER 10%+ thì gần như phải gõ lại.

Kết quả tổng hợp

Nhóm fileDPI TBCER TBĐánh giá
Sách/tài liệu scan rõ3001.8%Rất tốt — gần như dùng luôn
Giấy tờ hành chính200-3003.2%Tốt — sửa vài chỗ
Hóa đơn GTGT cũ (in kim)150-2005.7%Tạm OK — mất công sửa
Biên lai/phiếu thu150-2007.1%Khá sai — check kỹ số tiền
Chụp điện thoại72-15012.4%Không đáng — gõ lại nhanh hơn

Phân tích chi tiết từng nhóm

Sách/tài liệu scan 300 DPI — CER 1.8%

Nhóm này gần như perfect. 10 file, mỗi file 2-3 trang. Tesseract nhận dạng đúng cả dấu thanh phức tạp (ẵ, ỡ, ệ). Chỉ sai ở:

  • Chữ in đậm sát nhau → "th" thành "lli" (2 lần/10 file)
  • Số trang ở footer → bị nhận nhầm thành chữ (3 lần)
  • Gạch chân dính vào ký tự → sai (1 lần)

Kết luận: Scan 300 DPI, font in rõ, nền trắng → Tesseract tiếng Việt rất đáng tin. Dùng luôn output, chỉ cần lướt qua check nhanh.

Giấy tờ hành chính — CER 3.2%

CMND, sổ hộ khẩu, giấy khai sinh (bản photo scan). Khó hơn vì:

  • Có bảng, đường kẻ → Tesseract đôi khi "đọc" đường kẻ thành ký tự
  • Chữ viết tay xen lẫn chữ in → viết tay bị nhận sai hoàn toàn
  • Dấu mộc đỏ đè lên text → che ký tự

Kết luận: Phần chữ in thì tốt (~98%). Phần viết tay thì bỏ (Tesseract không recognize handwriting tiếng Việt). Nếu cần OCR giấy tờ, chỉ lấy phần in — bỏ qua phần viết tay.

Hóa đơn GTGT cũ (in kim) — CER 5.7%

Hóa đơn giấy đỏ thời xưa — in bằng máy in kim, font nhỏ, giấy carbon mỏng. Lỗi chủ yếu:

  • Font in kim mỏng, nét đứt → Tesseract miss ký tự (nhất là dấu chấm, dấu phẩy)
  • Số tiền bị sai: "1.500.000" → "1.500.0O0" (chữ O thay số 0)
  • Cột bị lệch → text nhảy sang cột khác

Kết luận: Dùng được để search text, nhưng đừng tin số tiền — luôn check lại bằng mắt. Mình từng để OCR tự extract số liệu hóa đơn rồi tổng hợp — sai 3 trên 10 số. Không chấp nhận được cho kế toán.

Biên lai/phiếu thu — CER 7.1%

Giấy nhỏ, in nhiệt (thermal print), font bé. Scan thường chỉ 150 DPI vì kích thước nhỏ. Tesseract gặp khó với:

  • In nhiệt bị phai → contrast thấp
  • Font monospace nhỏ → ký tự dính nhau
  • Tiếng Việt + tiếng Anh mix → engine nhầm ngôn ngữ

Kết luận: OCR biên lai chủ yếu để search/archive — không nên dùng kết quả để nhập liệu chính thức. Nếu cần chính xác → gõ tay nhanh hơn (biên lai thường < 50 ký tự).

Chụp điện thoại — CER 12.4%

Nhóm tệ nhất. File .jpg chụp bằng iPhone/Android, chuyển sang PDF. Vấn đề:

  • Nghiêng → text bị biến dạng
  • Ánh sáng không đều → vùng tối không đọc được
  • Ngón tay/bóng che → mất ký tự
  • DPI thấp (72-100) → pixel không đủ chi tiết

Kết luận: Ảnh chụp điện thoại → không nên OCR trực tiếp. Dùng app scan (CamScanner, Adobe Scan, Microsoft Lens) — chúng tự deskew, tăng contrast, crop → đầu ra tốt hơn nhiều. Sau đó mới OCR.

Yếu tố ảnh hưởng độ chính xác

Yếu tốTốtKémImpact
DPI≥ 200< 150Cao nhất — DPI thấp = mất chi tiết ký tự
Độ nghiêng< 2°> 5°Cao — nghiêng → dòng bị merge
ContrastText đen, nền trắngGiấy vàng, text mờTrung bình
Font size≥ 10pt< 8ptTrung bình — font nhỏ thiếu pixel
Font typeSans-serif, rõ nétIn kim, handwritingCao — Tesseract train trên font in thường
Nhiễu/noiseSạchĐốm, vết bẩn, nếp gấpTrung bình

Rule of thumb: Nếu bạn zoom 100% trên màn hình mà đọc được bằng mắt → OCR cũng đọc được. Nếu bạn phải zoom 200%+ mới đọc rõ → OCR sẽ sai nhiều.

Lỗi hay gặp nhất với tiếng Việt

Tesseract xử lý tiếng Việt tốt hơn mình nghĩ — nhưng vẫn có mấy lỗi đặc trưng:

  • Nhầm dấu: "ă" ↔ "â", "ơ" ↔ "ở", "ũ" ↔ "ủ" — khi scan mờ, dấu móc và dấu mũ trông giống nhau
  • Nhầm ký tự giống hình: "rn" → "m", "cl" → "d", "0" → "O" — lỗi kinh điển của OCR mọi ngôn ngữ
  • Dấu thanh bị tách: "á" thành "a'" hoặc "a ́" — khi dấu render hơi xa ký tự gốc
  • Bảng bị loạn: Text trong cell nhảy sang cell khác — Tesseract không giỏi nhận dạng cấu trúc bảng

Cải thiện kết quả OCR

Trước khi chạy OCR, nếu file scan chất lượng kém, mấy bước này giúp khá nhiều:

  1. Scan lại ở 300 DPI (nếu có thể) — đây là cách hiệu quả nhất, hơn mọi xử lý hậu kỳ
  2. Deskew — nắn thẳng nếu nghiêng. App scan điện thoại thường làm tự động
  3. Tăng contrast — text đen hơn, nền trắng hơn. Photoshop Levels hoặc app scan
  4. Crop sát nội dung — bỏ viền đen, margin thừa. Tesseract xử lý nhanh hơn và ít "đọc" noise ở viền

Hoặc đơn giản hơn: dùng app scan (CamScanner, Microsoft Lens) thay vì chụp thẳng bằng Camera. App tự làm hết 4 bước trên.

Khi nào dùng OCR, khi nào gõ lại

Tình huốngOCR hay gõ?Lý do
Tài liệu dài (>5 trang), scan rõOCRGõ 5 trang mất 1-2 tiếng, OCR mất 1 phút
Biên lai ngắn (<50 chữ)OCR setup + check lâu hơn gõ
File chụp điện thoại, nghiêngScan lại rồi OCROCR trực tiếp sẽ quá sai
Chỉ cần search, không cần chính xác 100%OCRSai vài ký tự vẫn search được
Số liệu tài chính, hợp đồngOCR + check taySai 1 số 0 là sai cả triệu đồng

Thử OCR

Mở AloPDF OCR → upload file scan → chọn ngôn ngữ Tiếng Việt → chờ xử lý → tải PDF mới có text layer.

File output là PDF "searchable" — có cả ảnh gốc + text layer invisible nằm trên. Bạn vẫn thấy ảnh scan, nhưng có thể Ctrl+F tìm text, Select + Copy.

Tip: sau OCR, mở file → Ctrl+A → Ctrl+C → paste vào Google Docs → check nhanh. Cách này nhanh hơn đọc từng trang.

Dùng ngay: OCR PDF — Chuyển PDF scan thành văn bản có thể tìm kiếm

Nhận dạng văn bản OCR trong PDF scan online miễn phí. Hỗ trợ tiếng Việt có dấu. Chuyển ảnh scan thành text copy được, tìm kiếm được. Sử dụng Tesseract — chính xác và nhanh.

Mở công cụ →

Bài viết liên quan

Ảnh trong PDF mất nét khi nào? Test 72/150/300 DPI — ngưỡng chấp nhận Test ảnh 72/150/300 DPI trong PDF: khi nào bị mờ, ngưỡng DPI chấp nhận được cho in và xem màn hình. Font tiếng Việt trong PDF: test 20 font — lỗi gì khi convert? Test 20 font VN phổ biến (Times New Roman, Arial, VNI, .vnTime): liệt kê lỗi cụ thể khi chuyển đổi … Tốc độ xử lý PDF online: benchmark AloPDF vs 3 đối thủ — có case thua Benchmark tốc độ và kích thước output: AloPDF vs SmallPDF vs iLovePDF vs PDF24. Trung thực, có case… PDF sang Word giữ định dạng: test 30 file phức tạp, chấm điểm 1-10 Test chuyển 30 file PDF phức tạp (bảng, hình, header/footer) sang Word: chấm điểm giữ định dạng từ …