Nhận diện văn bản bằng Tesseract

Nhận diện văn bản tiếng Anh là OCR (Optical Character Recognition). Chuyên dùng để đọc các ký tự trong ảnh rồi chuyển thành text để giảm công sức đánh máy. Trong đó phổ biến nhất là nhận diện văn bản bằng Tesseract.

Cũng như các ứng dụng Thị giác máy tính khác, nhận diện là bước cuối cùng. Các bạn nên xử lý cho hình ảnh rõ ràng, dễ đọc trước khi đưa vào nhận diện





Giới thiệu

Tesseract là thư viện OCR nổi tiếng do độ chính xác cao hơn hẳn các thư viên khác. Tesseract có thể chạy độc lập hoặc tích hợp với OpenCV đều được. Nếu chạy độc lập thì Tesseract sử dụng thư viện leptonica để đọc hình ảnh.

Github của Tesseract: https://github.com/tesseract-ocr/tesseract

Data đã training của Tesseract: https://github.com/tesseract-ocr/tessdata. Có sẵn tiếng Việt, tiếng Anh, tiếng Đức cho nhu cầu thông thường.

Bên dưới là ảnh để test và kết quả đọc được:
24909808_1979805728932938_7461743081152164211_n

Screenshot 2018-04-13 16.47.42

Download

Ứng dụng bên dưới được viết bằng C++ sử dụng Tesseract, giao diện Console. Các bạn download về giải nén, copy ảnh vào trong thư mục vừa giải nén, sau đó chạy file exe để nhận diện text. Chương trình sẽ load tất cả ảnh cùng chung thư mục rồi đọc text và in ra cửa sổ Console. Mình có để 1 ảnh để các bạn test.

Video demo

Để chạy được các bạn cần phải cài đặt:
.NET framework 4.5 offline installer (67MB) (Nếu đang dùng Windows 10 thì không cần cài vì Windows 10 có sẵn)
C++ redistribute 2015

TextReader.zip (33 MB – Google Drive)

Source code

Leave a Reply