ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM PHI HIỆU
XÂY DỰNG HỆ THỐNG NHẬN DẠNG VÀ DỊCH
TRÊN THIẾT BỊ DI ĐỘNG
LUẬN VĂN THẠC SỸ
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS KIỀU VĂN HƯNG
Hà Nội - 2011
1
MỤC LỤC
DANH MỤC HÌNH VẼ 3
MỞ ĐẦU 5
CHƢƠNG 1 – TỔNG QUAN VỀ OCR 8
1.1. Giới thiệu về OCR 8
1.1.1. OCR là gì 8
1.1.2. Một số công nghệ, phần mềm OCR tiêu biểu 10
1.1.3. Một số khái niệm cơ bản 11
1.2. Các bƣớc cơ bản trong một hệ thống OCR 13
1.2.1. Thu nhận ảnh 13
1.2.2. Tiền xử lý ảnh 14
1.2.2.1. Nhị phân hóa ảnh 14
1.2.2.2. Chỉnh độ nghiêng và hướng 16
3.3.2. Chức năng OCR 50
3.3.3. Chức năng hậu xử lý kết quả OCR 52
3.3.4. Chức năng sửa lỗi chính tả tự động 52
3.3.4.1. Hàm đánh giá minimum edit distance (MED) 53
3.3.4.2. Hàm đánh giá maximum số cặp ký tự giống nhau 53
3.3.5. Chức năng dịch sang ngôn ngữ khác 54
CHƢƠNG 4 – THỰC NGHIỆM VÀ ĐÁNH GIÁ 55
2
4.1. Thực nghiệm trên Tesseract engine 55
4.1.1. Tập mẫu thực nghiệm 55
4.1.2. Kết quả OCR 55
4.1.3. Nhận xét 56
4.2. Thực nghiệm trên một số hệ thống OCR khác nhau 57
4.2.1. Tập mẫu thực nghiệm 58
4.2.2. Kết quả 58
4.2.3. Nhận xét 58
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 61 3
DANH MỤC HÌNH VẼ
Hình 1.1: Ứng dụng OCR 8
Hình 1.2: Các đường cơ bản trong dòng text 12
Hình 1.3: Thành phần liên thông 4 và 8 13
Hình 1.4: Quy trình cơ bản trong một hệ thống OCR 13
Hình 1.5. Mô tả lược đồ mức xám 15
Hình 1.6. Phân ngưỡng trên lược đồ mức xám 15
Hình 3.12. Ảnh có bố cục và phân bố màu sắc phức tạp 48
Hình 3.13. Ảnh gốc sau khi nhị phân hóa và làm sạch 49
Hình 3.14. Các ảnh con cắt ra từ ảnh gốc 50
Hình 3.15. Kết quả OCR trên ảnh gốc 50
Hình 3.16. Kết quả OCR trên các ảnh con 50
Hình 3.17. Định nghĩa hàm OcrFromImage() 51
Hình 4.1. Kết quả thực nghiệm OCR với Tesseract engine 55
Hình 4.2. Kết quả thực nghiệm OCR trên 4 hệ thống khác nhau 58
5
MỞ ĐẦU
Đặt vấn đề
Từ lâu con người đã quen với việc sử dụng máy tính để lưu trữ những tài
liệu cần thiết, xuất phát từ những tiện ích to lớn do máy tính mang lại: lưu trữ
khối dữ liệu lớn, ít bị hư hỏng, dễ quản lí, dễ tìm kiếm, dễ chỉnh sửa Tuy nhiên
giấy vẫn là một vật liệu quan trọng đã, đang và sẽ được sử dụng để lưu trữ tài
liệu vì sự cần thiết của nó trong cuộc sống hàng ngày (ví dụ sách, báo ). Một
6
hiện được khi chúng ta làm việc ở nhà, ở cơ quan với chiếc máy tính bên cạnh.
Tuy nhiên nhu cầu OCR của chúng ta có thể xuất hiện mọi lúc mọi nơi, ví dụ
muốn lưu nhanh thông tin trong một name card mà người bạn đưa cho vào điện
thoại mà không phải nhập bằng tay. Song chúng ta không thể lúc nào cũng mang
bên mình máy scan, máy ảnh cũng như máy tính để hỗ trợ cho việc OCR. Chưa
kể đôi khi chúng ta muốn dịch nhanh một bảng chỉ dẫn bằng tiếng nước ngoài
mà không có từ điển bên cạnh. Một khó khăn nữa là các ứng dụng OCR hiệu
quả cho công việc của chúng ta lại đa phần được tung ra dưới dạng thương mại,
muốn sử dụng phải mất một chi phí không nhỏ. Chính những sự bất tiện thực tế
trên, vấn đề đặt ra là phải có những hệ thống phần cứng-phần mềm nhỏ gọn, di
động nhưng vẫn thực hiện một cách linh hoạt và hiệu quả các chức năng chụp
ảnh tài liệu, OCR trên ảnh đã chụp và dịch kết quả ra ngôn ngữ khác.
Hiện nay công nghệ mạng internet phát triển mạnh mẽ, internet có mặt
hầu hết khắp nơi trên thế giới. Công nghệ di động phát triển vượt bậc, việc sử
dụng điện thoại bùng nổ, điện thoại di động trở thành mặt hàng bình dân mà ai
cũng có thể sở hữu được. Nhiều công nghệ OCR tiên tiến được đưa ra dưới dạng
mã nguồn mở và được các công ty, tổ chức lớn tài trợ phát triển. Với nền tảng
công nghệ hiện có ở trên đã tạo ra nhiều giải pháp để xây dựng được nhiều hệ
thống có khả năng đáp ứng cao với vấn đề đặt ra.
Mục tiêu nghiên cứu
Với mong muốn tìm hiểu về lĩnh vực và một số công nghệ OCR tiên tiến,
đồng thời mong muốn góp phần vào kho ứng dụng OCR hiện có một sản phẩm
nguồn mở mới: một hệ thống trên thiết bị di động giúp con người có thể thu ảnh,
rút trích thông tin trong ảnh, dịch kết quả ra ngôn ngữ mong muốn và quản lý
các thông tin ấy trên thiết bị di động. Thiết bị di động được chọn là điện thoại di
Ngoài phần mở đầu giới thiệu về mục tiêu, ý nghĩa, tình hình nghiên cứu
liên quan và phần kết luận tóm tắt những kết quả chính đạt được cũng như đưa
ra nhận xét; bố cục luận văn gồm 4 chương chính:
Chương 1: Trình bày kiến thức tổng quan về lĩnh vực OCR làm nền tảng
cho các nghiên cứu về sau.
Chương 2: Trình bày nội dung tìm hiểu về công nghệ mã nguồn mở
Tesseract OCR, công nghệ Android, mô hình client/server, công nghệ dịch
Google Translate. Các công nghệ, mô hình này được sử dụng để xây dựng hệ
thống.
Chương 3: Giới thiệu kiến trúc và các thành phần cơ bản của hệ thống
nhận dạng và dịch trên thiết bị di động đã xây dựng.
Chương 4: Trình bày kết quả thực nghiệm chức năng rút trích thông tin từ
ảnh của hệ thống cũng như so sánh một sách tương đối kết quả OCR với một số
hệ thống khác.
8
CHƢƠNG 1 – TỔNG QUAN VỀ OCR
1.1. Giới thiệu về OCR Hình 1.1. Ứng dụng OCR[21]
1.1.1. OCR là gì
nhận dạng ký tự thông minh ICR (Intelligent Character Recognition), nhận dạng
vùng đánh dấu OMR (Optical Mark Recognition), nhận dạng chữ mực từ MICR
(Magnetic Ink Character Recognition) và cơ chế nhận dạng mã vạch (barcode).
Các công nghệ tiên tiến này đã hỗ trợ rất nhiều cho các tổ chức và doanh nghiệp
trong việc xử lý thông tin phát sinh xuyên suốt quá trình hoạt động. Những lĩnh
vực thường được ứng dụng các công nghệ nhận dạng trên là giáo dục, tài chính,
y tế, bảo hiểm, giao vận và ngay cả trong các tổ chức của chính phủ như thuế,
hải quan[21].
Công nghệ nhận dạng OCR đã tạo ra sự ảnh hưởng to lớn trong việc lưu
trữ, chia sẻ và chỉnh sửa thông tin. Trước đây, nếu chúng ta muốn chuyển một
quyển sách từ bản in sang bản điện tử thì cách duy nhất là ngồi nhập thủ công
toàn bộ quyển sách vào máy tính thông qua chương trình soạn thảo văn bản, và
điều này buộc chúng ta phải trả giá với một khoảng thời không nhỏ. Tuy nhiên,
ngày nay với sự phát triển vượt bậc của công nghệ thông tin, chỉ cần một máy
scan kết nối với một máy tính tích hợp sẵn phần mềm nhận dạng OCR, bằng
một vài thao tác đơn giản, toàn bộ quyển sách sẽ được chuyển thành tập tin đúng
như mong muốn của người sử dụng. Do đó có thể nói, công nghệ OCR đã giúp
người ta đến gần với nhiều dạng thông tin hơn, xóa bỏ nhiều rào cản về việc chia
sẻ nguồn tri thức của nhân loại.
Mặc dù không được sử dụng phổ biến và nhắc đến nhiều như các ngành
công nghiệp viễn thông, phần cứng hay phần mềm nhưng ngành công nghiệp
10
nhận dạng lại mang đến hiệu quả rõ ràng nhất khi được đưa vào ứng dụng trong
thực tế. Việc chuyển đổi thông tin từ tài liệu giấy sang tài liệu điện tử giúp nhiều
người dùng có thể truy cập thông tin một cách dễ dàng, cùng một lúc dù ở bất cứ
đâu mà không phải chờ đợi hoặc mất quá nhiều thời gian cho việc tìm kiếm.
Điều này cũng tạo cho công tác quản lý và bảo mật thông tin trở nên đơn giản
Brainware
Proprietary
CuneiForm/OpenOCR
BSD variant
ExperVision TypeReader & RTK
Proprietary
GOCR
GPL
Image to OCR Converter
Proprietary
LEADTOOLS
Proprietary
Microsoft Office Document Imaging
Proprietary
11
Microsoft Office OneNote 2007
Proprietary
Nicomsoft CrystalOCR
Proprietary
Ocrad
GPL
OCRopus
GPL
OCRopus
Apache
OmniPage
Proprietary
Puma.NET
BSD
hệ thống đồ họa máy tính. Để tránh nhầm lẫn ta tạm gọi khái niệm pixel này là
pixel thiết bị. Khái niệm pixel thiết bị có thể xem xét như sau: khi ta quan sát
màn hình (chế độ đồ họa), màn hình không liên tục mà gồm nhiều điểm nhỏ, gọi
là pixel. Trong ảnh 2 chiều, mỗi pixel gồm một cặp tọa độ x, y và màu.
Độ phân giải của ảnh(Resolution)[2]: chính là mật độ điểm ảnh được ấn
định trên một ảnh số được hiển thị. Theo định nghĩa, khoảng cách giữa các điểm
ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh. Việc
lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ
phân giải và được bố trí theo hai trục x, y trong không gian hai chiều. Đơn vị
cho độ phân giải là dpi (dots per inch).
12
Mức xám của ảnh: Mỗi điểm ảnh đều có một cường độ sáng. Mỗi mức
xám là kết quả của sự mã hóa tương ứng một cường độ sáng của mỗi điểm ảnh
với một giá trị số - kết quả của quá trình lượng hóa. Các thang giá trị mức xám
thông thường là 16, 32, 64, 128, 256, trong đó mức thông dụng nhất là 256, mỗi
pixel được mã hóa bởi 8 bit.
Ảnh nhị phân: Tùy theo giá trị mức xám của điểm ảnh mà các ảnh được
phân chia ra thành ảnh màu, ảnh xám hay ảnh nhị phân. Khi trên một ảnh chỉ có
giá trị 0 hoặc 1 thì ta nói đó là một ảnh nhị phân hay một ảnh đen trắng và các
điểm ảnh của nó gọi là điểm ảnh nhị phân.
Ảnh màu: hay còn gọi là ảnh RGB. Cách biểu diễn cũng tương tự như
ảnh đen trắng, chỉ khác là các số tại mỗi phần tử của ma trận biểu diễn cho ba
màu riêng lẻ gồm: đỏ (Red), lục (Green), lam (Blue). Để biểu diễn cho một điểm
ảnh màu cần 24 bit, 24 bit này chia thành 3 khoảng 8 bit. Mỗi khoảng này biểu
diễn cho cường độ sáng của một trong các màu chính tổ hợp của các màu ta
được nhiều mức biểu diễn, như vậy mỗi điểm ảnh có thể được mô tả rõ giá trị
Hình 1.3. Thành phần liên thông 4 và 8
1.2. Các bƣớc cơ bản trong một hệ thống OCR
Hoạt động của một hệ thống OCR thông thường gồm các bước sau: thu
nhận ảnh, tiền xử lý ảnh, phân tích bố cục trang, tách dòng và từ, huấn luyện và
nhận dạng, hậu xử lý. Kết quả của mỗi bước ảnh hưởng rất lớn đến kết quả cuối
cùng của hệ thống.
Hình 1.4. Quy trình cơ bản trong một hệ thống OCR
1.2.1. Thu nhận ảnh
Thu nhận ảnh là bước đầu tiên trong quy trình của hệ thống OCR. Hình
ảnh tài liệu bên ngoài được thu nhận qua các thiết bị thu ảnh như camera, máy
ảnh, máy scan và được số hóa để biến đổi tín hiệu tương tự thành tín hiệu rời rạc
(lấy mẫu) và lưu vào máy tính dưới các định dạng file ảnh. Ảnh thu được có thể
là ảnh trắng đen, ảnh màu, ảnh đa cấp xám Độ phân giải của ảnh ảnh hưởng rất
lớn đến kết quả OCR. Ảnh thu được có độ phân giải 300dpi không phải là chuẩn
14
chính thức quy ước cho các ảnh đầu vào của các hệ thống OCR nhưng cũng có
thể xem như một chuẩn tương đối tốt. Tuy nhiên không phải ảnh có độ phân giải
càng cao thì kết quả OCR càng tốt. Do đó các hệ thống OCR khuyến nghị các
bức ảnh đầu vào nên có độ phân giải từ 200dpi – 400dpi. Để nâng cao hiệu quả
OCR, ngoài việc cố gắng đảm bảo độ phân giải của ảnh nằm trong khoảng tương
đối chấp nhận được, các bức ảnh thu được cần tiến hành xử lý nhằm nâng cao
chất lượng trước khi đưa vào nhận dạng. Quá trình này gọi là tiền xử lý ảnh.
1.2.2. Tiền xử lý ảnh
như Otsu (ngưỡng toàn cục); Niblack, Sauvola (ngưỡng cục bộ). Dưới đây trình
bày phương pháp Otsu trong việc xác định ngưỡng xám toàn cục.
Phương pháp Otsu[6]
Lược đồ mức xám: là một hàm rời rạc cung cấp tần suất xuất hiện của mỗi mức
xám.
trong đó: s
k
là mức xám thứ k;
n
k
là số các điểm ảnh khác có cùng mức xám s
k
;
n là tổng số các điểm ảnh trong ảnh.
Minh họa với bức ảnh 6x6 với các pixel chỉ trong 6 mức xám:
Hình 1.5. Mô tả lược đồ mức xám
Phương pháp Otsu được mô tả như sau:
Bước 1: Chọn một giá trị ước lượng ngưỡng xám ban đầu T. Thông
thường T được chọn là giá trị mức xám trung bình của bức ảnh. Ví dụ
trong lược đồ mức xám Hình 1.5, có thể chọn T = 3.
Bước 2: Dùng ngưỡng T phân hoạch bức ảnh thành 2 phân vùng R
1
, R
2
Hình 1.7. Kết quả chọn ngưỡng xám theo phương pháp Otsu
1.2.2.2. Chỉnh độ nghiêng và hướng
Ảnh thu được có thể bị nghiêng, bị xoay ngang dọc do vị trí đặt tài liệu
cần thu ảnh lệch vị trí đúng với thiết bị thu ảnh. Với những bức ảnh như thế,
hiệu quả nhận dạng giảm đi rõ rệt. Do đó trước khi nhận dạng, ta cần thực hiện
việc chỉnh lại độ nghiêng và hướng của trang ảnh. Sau khi xác định được độ
nghiêng và hướng chính xác của ảnh sẽ thực hiện việc quay ảnh về lại trạng thái
đúng ban đầu. Tuy nhiên ít nhiều chất lượng ảnh sẽ bị giảm sau khi quay.
Một số phương pháp xác định độ nghiêng trang ảnh như phương pháp
hình chiếu, phương pháp biến đổi Hough, phương pháp dựa trên các thành phần
liên thông và một số phương pháp khác như phân tích độ lệch so với trục dọc,
biến đổi Fourier, các phép toán hình thái[8]. Nhiều phương pháp dò hướng cũng
được đề xuất và áp dụng, một số tác giả như Caprari đưa ra năm 1999, Aradhyu
đưa ra năm 2005, Lu và một số tác giả khác đưa ra năm 2006[8]. Việc dò tìm độ
nghiêng và hướng của trang ảnh có thể thực hiện riêng lẻ hoặc kết hợp đồng thời
với nhau. Một phương pháp tiêu biểu cho việc kết hợp giữa việc dò độ nghiêng
và hướng được đưa ra bởi Breuel (và một số tác giả khác) sử dụng mô hình hóa
hình học của các dòng text chữ viết Latinh[8].
Dò độ nghiêng và quay ảnh thực hiện trong phạm vi góc -45
o
, +45
o
(Hình
1.8); dò hướng đúng và quay ảnh theo các hướng 0
o
, 90
Hình 1.10. Các vùng nhiễu trên ảnh văn bản[8]
Nhiễu trong tài liệu ảnh có thể do nhiều nguyên nhân: sự xuống cấp của
tài liệu theo thời gian, sự tác động vật lý, hóa học của môi trường xung quanh;
tác động ngoại cảnh trong quá trình chụp ảnh như ánh sáng không tốt. Do đó
trước khi nhận dạng, ảnh cần áp dụng một vài kỹ thuật phù hợp để giảm nhiễu
nhằm tạo ra một ảnh tốt hơn cho các bước phía sau của quá trình OCR.
Nhiễu trong ảnh thực tế gồm nhiều loại song chúng ta thường chú ý và
xem xét đến 3 loại nhiễu chính: nhiễu cộng, nhiễu nhân, nhiễu xung [3].
- Nhiễu cộng thường phân bố khắp ảnh. Nếu gọi ảnh quan sát (ảnh thu
được) là X
qs
, ảnh gốc là X
gốc
, nhiễu là
, ảnh thu được có thể biểu diễn
bởi:
X
qs
= X
gốc
+
18
- Nhiễu nhân thường được phân bố khắp ảnh và ảnh thu được sẽ biểu diễn
bởi công thức:
max và min)[2].
1.2.3. Phân tích bố cục
Tài liệu ảnh thường gồm các “vùng đối tượng” có nội dung, tích chất khác
nhau (vùng ảnh, vùng text, bảng biểu ). Phân tích bố cục tài liệu ảnh là một
bước quan trọng được thực hiện để xác định cấu trúc, xác định các vùng đối
tượng được bố trí trong tài liệu ảnh. Cấu trúc của tài liệu ảnh thường được quan
tâm trong việc phân tích bố cục là cấu trúc vật lý và cấu trúc lôgic.
Cấu trúc vật lý chỉ ra vị trí, đường biên giữa các vùng đối tượng khác
nhau. Việc xác định cấu trúc vật lý có ý nghĩa rất lớn đối với lĩnh vực OCR
trong việc chỉ lấy và xử lý các vùng text, giảm thời gian thực hiện và tăng độ
chính xác kết quả. 19
Cấu trúc logic chỉ chức năng của từng vùng đối tượng (ví dụ vùng tiêu đề,
vùng địa chỉ ) cũng như mối liên hệ logic giữa các vùng đối tượng ấy. Xác định
cấu trúc logic của tài liệu ảnh cũng có thể suy ra quy tắc đọc phù hợp. Ví dụ các
văn bản ngôn ngữ Latinh đọc từ trái qua phải, một số ngôn ngữ khác như Trung
Quốc, Nhật bản đọc từ phải qua trái. Việc xác định cấu trúc logic thường thực
hiện sau khi xác định được cấu trúc vật lý.
Hình 1.11. b-Cấu trúc vật lý; c,d-Cấu trúc lôgic [3]
Các phương pháp phân tích bố cục tài liệu ảnh có thể chia làm hai loại
chính [3]:
- Phương pháp có thứ bậc:
Phương pháp bottom-up: bắt đầu từ các phần tử nhỏ nhất (pixel, thành
ký tự gì nếu không có sự so sánh với ảnh ký tự mẫu cho trước. Huấn luyện chính
là làm cho hệ thống OCR có thể nhận biết một cách chính xác các ảnh của một
tập lớn các ký tự mẫu khác nhau về ngôn ngữ, font chữ Các dấu hiệu để nhận
biết tập ảnh các ký tự này được hệ thống lưu lại theo một phương thức nào đó
thành dữ liệu tập huấn. Khi muốn nhận dạng một ký tự, hệ thống dựa vào dữ
liệu tập huấn sẽ cho ra một ký tự tương ứng phù hợp nhất.
Hầu hết các thuật toán OCR thường có hai phần chính: trích chọn đặc
trưng và phân loại. Một thành phần phụ cũng tham gia vào quá trình nhận dạng
là quá trình xử lý dựa trên ngữ cảnh [3].
Trích chọn đặc trưng liên quan đến việc rút trích ra những thuộc tính của
đối tượng dưới dạng các độ đo. Để biểu diễn một lớp ký tự phải xây dựng một
mô hình nguyên mẫu chung cho các lớp ký tự. Và do đó quá trình trích chọn đặc
trưng sẽ cố gắng tìm ra các đặc tính dựa trên nguyên mẫu đã xây dựng cho các
lớp. Các đặc trưng chung như số lượng các lỗ hổng trong ký tự, mặt lõm của
đường viền bên ngoài, sự nhô ra của điểm cao nhất và các đặc trưng nội tại, các
điểm cắt ngang, các điểm kết thúc, các góc sẽ được sử dụng. Mỗi ảnh ký tự sẽ
trích ra các đặc trưng và phân loại chúng vào lớp tương ứng.
Trong phương pháp phân loại dựa trên thống kê, những mẫu ảnh ký tự
được biểu diễn bằng các điểm đặc trưng trong không gian đa chiều. Mỗi một
thành phần trong không gian đa chiều biểu diễn cho một độ đo đặc trưng. Quá
trình phân loại sẽ chia không gian đa chiều thành các vùng tương ứng với các
lớp ký tự và chúng được gán nhãn tương ứng.
Nhận dạng dựa trên ngữ cảnh sử dụng thông tin từ các ký tự khác nhau
được nhận dạng trong một từ và ý nghĩa của từ khi lắp ghép ký tự vào từ. Công
việc này thường được kết hợp với từ điển của ngôn ngữ nhận dạng. Một công cụ
hiệu quả mà các hệ thống OCR hay sử dụng là mô hình ngôn ngữ thống kê.
Z, o
0
- Lỗi do nhiễu (nhận dạng nhiễu thành các ký tự): ?/”.
Với kết quả nhận dạng được, ta thường áp dụng các biện pháp sửa lỗi để
tăng hiệu quả xử lý. Nếu lỗi thuộc về loại lỗi chính tả (ví dụ huu – hưu, mang –
marg, h0a – hoa), có thể dùng các chương trình sửa lỗi chính tả phù hợp với
từng ngôn ngữ. Nếu là lỗi cú pháp (ví dụ tinh – tình, vân – vấn), thường người
đọc sẽ duyệt lại và sửa bằng tay. 22
CHƢƠNG 2 – CÁC CÔNG NGHỆ SỬ DỤNG TRONG HỆ THỐNG
2.1. Công nghệ Tesseract OCR
2.1.1. Giới thiệu về Tesseract OCR
Tesseract[11,12] là công nghệ OCR được phát triển những năm từ 1984
đến 1994 ở HP, bắt đầu như một dự án nghiên cứu tiến sĩ ở phòng thí nghiệm.
Tuy đạt được những kết quả nhất định nhưng lúc ấy vẫn chưa thể phát triển
thành sản phẩm thương mại. Cuối năm 2005, HP phát hành Tesseract dưới dạng
mã nguồn mở và hiện tại được tập đoàn Google tài trợ phát triển. Địa chỉ hiện tại
cho mã nguồn Tesseract là Tesseract
được phát triển để chạy trên cả hệ điều hành nhân Linux và Windows. Phiên bản
hiện tại là Tesseract 3.01 với một số nhà phát triển tiêu biểu như Ray Smith,
Thomas Breuel, Luc Vincent.
Từ khi Tesseract OCR trở thành mã nguồn mỡ, nó được phát triển một
Python:
Ruby:
Clojure:
Với phiên bản Tesseract 2.0x
Python:
-
-
-
-
- />&sd=a
.NET:
-
Java:
- (JNI wrapper)
- (JNA wrapper)
Ngoài ra còn có một số wrapper khác như:
- tesseract-android-tools: tập các hàm Android API cho tesseract
- Mobile OCR: Mục đích là tạo ra ứng dụng OCR (trên ảnh do camera
mobile chụp được) trên nền tảng Android. Ứng dụng tương lai có thể áp
dụng cho những người có thị lực kém
- Clarify: giúp OCR chỉ trên file PDF. Clarify là một modun python
module, wrapper cho tesseract-ocr, xpdf và netpbm. Yêu cầu: python,
tesseract-ocr, xpdf, netpbm
- hOcr2Pdf.NET: là thư viện cho người lập trình tạo ra các ứng dụng để có
thể tìm kiếm trên file pdf. Yêu cầu: .NET 2.0 or higher, Tesseract 3.0,
JBig2.exe
- ScanBizCards: Giải pháp cho scan business card trên mobile. Yêu cầu
iPhone 4/iPhone 3/Android 2.0