Cách triển khai nhận dạng ký tự quang học trong Python



Bài viết này sẽ cung cấp cho bạn kiến ​​thức chi tiết và toàn diện về cách triển khai Nhận dạng ký tự quang học trong Python.

Nhận dạng ký tự quang học rất quan trọng và là một khía cạnh quan trọng và ngôn ngữ lập trình. Việc áp dụng các khái niệm như vậy trong các tình huống thực tế là rất nhiều. Trong bài viết này, chúng tôi sẽ thảo luận về cách triển khai Nhận dạng ký tự quang học trong Python

Các ứng dụng của nhận dạng ký tự quang học

Quầy bán vé sử dụng rộng rãi tính năng này để quét và phát hiện thông tin chính trên vé để theo dõi các tuyến đường và chi tiết hành khách. Chuyển đổi văn bản giấy sang định dạng kỹ thuật số trong đó máy ảnh chụp ảnh có độ phân giải cao và sau đó OCR được sử dụng để chuyển chúng thành một từ hoặc định dạng PDF.





charachters

cách tạo một tham số trong hoạt cảnh

Việc giới thiệu OCR với python được cho là để bổ sung các thư viện đa năng như “Tesseract” và “Orcad”. Các thư viện này đã giúp nhiều lập trình viên và nhà phát triển đơn giản hóa thiết kế mã của họvà cho phép họ dành nhiều thời gian hơn cho các khía cạnh khác của dự án của họ. Vì những lợi ích mang lại là rất lớn, chúng ta hãy cùng tìm hiểu xem nó là gì và nó được thực hiện như thế nào.



Xây dựng nhận dạng ký tự quang học trong Python

Đầu tiên chúng ta cần tạo một lớp bằng cách sử dụng “pytesseract”. Lớp này sẽ cho phép chúng tôi nhập hình ảnh và quét chúng. Trong quá trình này, nó sẽ xuất ra các tệp có phần mở rộng là “ocr.py”. Hãy cho chúng tôi xem đoạn mã dưới đây. Khối chức năng “process_image” được sử dụng để làm sắc nét văn bản mà chúng ta nhận được.

Trình xử lý tuyến đường và chức năng xem sau được thêm vào ứng dụng (app.py).

Mã xử lý bộ định tuyến



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), method = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'in url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) ngoại trừ: return jsonify ({' error ':' Ý bạn là gửi: {'image_url': 'some_jpeg_url'} '})

Mã động cơ OCR

từ dành riêng trong java là gì
// OCR ENGINE nhập yêu cầu nhập pytesseract từ nhập PIL Hình ảnh từ PIL nhập ImageFilter từ StringIO nhập StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image ( url): return Image.open (StringIO (request.get (url) .content)) //

Hãy đảm bảo cập nhật các lần nhập và thêm số phiên bản API.

nhập nhật ký nhập hệ điều hành từ ghi nhật ký nhập Định dạng, FileHandler từ bình nhập Flask, yêu cầu, jsonify từ ocr import process_image _VERSION = 1 # phiên bản API

Chúng tôi đang thêm vào phản hồi JSON của hàm của OCR Engine là “process_image ()”. JSON được sử dụng để thu thập thông tin đi vào và ra khỏi API. Chúng tôi chuyển phản hồi vào một tệp đối tượng bằng thư viện “Hình ảnh” từ PIL để cài đặt nó.

Xin lưu ý rằng mã này chỉ hoạt động tốt nhất chỉ với hình ảnh .jpg. Nếu chúng ta sử dụng các thư viện phức tạp có thể có nhiều định dạng hình ảnh thì tất cả các hình ảnh có thể được xử lý một cách hiệu quả. Cũng lưu ý, trong trường hợp bạn muốn tự mình thử mã này, thì trước tiên hãy cài đặt PIL được mua từ thư viện “Pillow”

& bull Bắt đầu bằng cách chạy ứng dụng, đó là “app.py”:

// $ cd ../home/flask_server/ $ python app.py //

& bull Sau đó, trong một lần chạy thiết bị đầu cuối khác:

// $ curl -X BÀI ĐĂNG http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Content-Type: application / json'

Ví dụ:

// $ curl -X BÀI ĐĂNG http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '}' - H 'Content-Type: application / json' {'output': 'ABCDEnFGH I JnKLMNOnPQRST'} //

Ưu điểm và nhược điểm của OCR Engine

Trong số nhiều ứng dụng sử dụng OCR trong python, ứng dụng phổ biến là nhận dạng chữ viết tay. Mọi người áp dụng điều này là để tạo lại văn bản đã viết mà sau đó có thể được phổ biến thành nhiều bản sao thay vì chỉ sao chép kịch bản gốc. Điều này nhằm mang lại sự đồng nhất và dễ đọc.

OCR cũng hữu ích trong việc chuyển đổi PDF thành văn bản và lưu trữ chúng dưới dạng các biến. Sau đó, điều này có thể được xử lý trước cho các tác vụ bổ sung. Mặc dù khái niệm OCR có vẻ là một chủ đề có lợi trong thế giới của Python, nhưng nó chắc chắn có một phần nhược điểm.

OCR không phải lúc nào cũng đảm bảo độ chính xác 100%. Cần phải áp dụng nhiều giờ đào tạo với sự trợ giúp của các khái niệm Trí tuệ nhân tạo có thể cho phép công cụ OCR học và nhận dạng hình ảnh kém. Hình ảnh chữ viết tay có thể được nhận dạng nhưng chúng phụ thuộc vào một số yếu tố như kiểu chữ viết, màu sắc của trang, độ tương phản của hình ảnh và độ phân giải của hình ảnh.

giới thiệu đơn giản về khoa học dữ liệu

Với điều này, chúng ta sẽ kết thúc bài viết về Nhận dạng ký tự quang học trong Python. Tôi hy vọng bạn hiểu về cách hoạt động chính xác của OCR.

Để có được kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể để được đào tạo trực tuyến trực tiếp với hỗ trợ 24/7 và quyền truy cập trọn đời.

Có một câu hỏi cho chúng tôi? Đề cập đến chúng trong phần nhận xét của 'Nhận dạng ký tự quang học trong Python' và chúng tôi sẽ liên hệ lại với bạn.