Có nhiều thư viện đọc được tiếng Việt, trong đó có Easy OCR cho kết quả nhận diện khá tốt. Bài viết này giới thiệu và review các tính năng của thư viện Easy OCR.
Để test độ chính xác các bạn có thể tìm download các ảnh CCCD (roboflow, kaggle), vì lý do bảo mật nên mình không share.
Bước 1: cài đặt easyocr
Bài viết này sử dụng hệ điều hành Windows 10, Python 3.7.3 để test.
Các bạn có thể dùng lệnh sau để cài đặt:
pip install easyocr
Bước 2: test độ chính xác đọc ảnh CCCD
Chạy đoạn code python bên dưới để test
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import easyocr import cv2 img_path = 'cccd.jpg' reader = easyocr.Reader(['vi']) # this needs to run only once to load the model into memory result = reader.readtext(img_path) mat = cv2.imread(img_path) boxes = [line[0] for line in result] texts = [line[1] for line in result] scores = [line[2] for line in result] for box in boxes: top_left = (int(box[0][0]), int(box[0][1])) bottom_right = (int(box[2][0]), int(box[2][1])) cv2.rectangle(mat, top_left, bottom_right, (0, 255, 0), 2) print(texts) cv2.imshow("result", mat) cv2.waitKey(0) |
Kết quả
Kết quả nhận diện được cho kết quả khá tốt.
Performance
Bài test có sử dụng GPU RTX 2060 6GB VRAM:
- Thời gian load model: 3.9 giây
- Thời gian predict: 1.34 giây