Xác định vị trí của text trong ảnh bằng PaddleOCR

Trong một số bài toán bạn chỉ cần xác định vùng nào có text chứ không cần nhận diện ký tự. Khi đó PaddleOCR sẽ là công cụ phù hợp cho bạn, ngoài ra còn có thể đọc được văn bản, rất tiếc là không hỗ trợ tiếng Việt. Văn bản có dấu sẽ đọc ra không dấu, ví dụ như “Thị giác máy tính” sẽ nhận diện thành “Thi giac may tinh”.

Bài viết này hướng dẫn chạy code trên hệ điều hành Windows 10.

Nếu bạn cần nhận diện văn bản tiếng Việt thì đọc bài Nhận diện văn bản bằng Tesseract

Thử nghiệm độ chính xác nhận diện văn bản

Ảnh cần trích xuất text

Kết quả trích xuất text gồm tọa độ các vùng text, ký tự nhận diện được và confident

Thử với một ảnh khác, lần này lấy kết quả để vẽ khung chữ nhật

Nhận diện text từ ảnh chụp

Có thể thấy kết quả nhận diện khá tốt

Cách build chương trình nhận diện văn bản Paddle OCR

  • Bước 1: cài đặt Python 3.7.3 x64
  • Bước 2: cài đặt Visual Studio 2015 trở lên để có Visual C++ 140 dùng để compile code
  • Bước 3: cài đặt paddle bằng lệnh: pip install paddlepaddle
  • Bước 4: clone code https://github.com/PaddlePaddle/PaddleOCR
  • Bước 5: compile code python3 setup.py bdist_wheel, sau bước này sẽ thấy có file paddleocr-x.x.x-py3-none-any.whl trong folder dist
  • Bước 6: cài đặt file whl bằng lệnh pip3 install dist/paddleocr-x.x.x-py3-none-any.whl

Nếu bạn muốn cài bản GPU thì đọc tại hướng dẫn gốc
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.1/doc/doc_en/multi_languages_en.md

Code vẽ khung chữ nhật bằng OpenCV

Source code

https://github.com/thigiacmaytinh/TextExtractor

Chúc các bạn thành công

Leave a Reply