Để truy cập văn bản được trích xuất từ hình ảnh bằng API Google Vision, bạn có thể làm theo một loạt các bước liên quan đến việc sử dụng khả năng Nhận dạng ký tự quang học (OCR) của API. Công nghệ OCR trong Google Vision API cho phép phát hiện và trích xuất văn bản từ hình ảnh, bao gồm cả chữ viết tay. Chức năng này đặc biệt hữu ích trong các ứng dụng yêu cầu phân tích và hiểu thông tin văn bản có trong dữ liệu trực quan.
Trước tiên, bạn cần thiết lập môi trường cần thiết để hoạt động với Google Vision API. Điều này liên quan đến việc tạo một dự án trong Google Cloud Console, bật API Vision và lấy thông tin xác thực bắt buộc như khóa API hoặc khóa tài khoản dịch vụ.
Sau khi môi trường của bạn được thiết lập, bạn có thể sử dụng phương thức `asyncBatchAnnotateFiles` của Vision API để thực hiện OCR trên tệp hình ảnh. Phương pháp này cho phép bạn chuyển danh sách các tệp hình ảnh để xử lý và nhận kết quả không đồng bộ. Ngoài ra, bạn có thể sử dụng phương thức `asyncBatchAnnotateImages` để xử lý trực tiếp danh sách hình ảnh.
Để trích xuất văn bản từ một hình ảnh, bạn cần tạo một phiên bản của đối tượng `AnnotateImageRequest` và chỉ định các tính năng mong muốn. Trong trường hợp này, bạn sẽ đặt tính năng `TEXT_DETECTION` để cho biết rằng bạn muốn trích xuất văn bản từ hình ảnh. Bạn cũng có thể chỉ định các tham số bổ sung như gợi ý ngôn ngữ để cải thiện độ chính xác của OCR.
Tiếp theo, bạn cần mã hóa tệp hình ảnh thành chuỗi được mã hóa base64 và tạo một phiên bản của đối tượng `Image` bằng cách sử dụng dữ liệu hình ảnh được mã hóa. Đối tượng `Image` này phải được thêm vào đối tượng `AnnotateImageRequest` đã tạo trước đó.
Sau khi thiết lập yêu cầu, bạn có thể gửi yêu cầu đó tới Vision API bằng phương thức `batchAnnotateImages` hoặc `batchAnnotateFiles`, tùy thuộc vào phương pháp bạn đã chọn. API sẽ xử lý hình ảnh và trả về phản hồi chứa văn bản được trích xuất.
Để truy cập văn bản được trích xuất từ phản hồi, bạn có thể lặp qua trường `textAnnotations` của đối tượng `AnnotateImageResponse`. Trường này chứa danh sách các đối tượng `EntityAnnotation`, mỗi đối tượng đại diện cho một thành phần văn bản được phát hiện trong hình ảnh. Trường `description` của mỗi đối tượng `EntityAnnotation` chứa văn bản được trích xuất.
Dưới đây là đoạn mã ví dụ trong Python trình bày cách truy cập văn bản được trích xuất từ hình ảnh bằng API Google Vision:
python from google.cloud import vision def extract_text_from_image(image_path): client = vision.ImageAnnotatorClient() with open(image_path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) request = vision.AnnotateImageRequest( image=image, features=[{'type': vision.Feature.Type.TEXT_DETECTION}] ) response = client.batch_annotate_images(requests=[request]) for annotation in response.responses[0].text_annotations: extracted_text = annotation.description print(extracted_text) # Usage extract_text_from_image('path_to_image.jpg')
Trong ví dụ này, hàm `extract_text_from_image` lấy đường dẫn đến tệp hình ảnh làm đầu vào và sử dụng thư viện máy khách Google Cloud Vision để gửi yêu cầu tới Vision API. Văn bản được trích xuất sau đó sẽ được in ra.
Để truy cập văn bản được trích xuất từ hình ảnh bằng API Google Vision, bạn cần thiết lập môi trường, tạo đối tượng `AnnotateImageRequest` với các tính năng mong muốn, mã hóa tệp hình ảnh, gửi yêu cầu tới API và truy xuất văn bản được trích xuất từ phản hồi. Khả năng OCR của Vision API cho phép phát hiện và trích xuất văn bản từ hình ảnh, bao gồm cả chữ viết tay.
Các câu hỏi và câu trả lời gần đây khác liên quan đến Phát hiện và trích xuất văn bản từ chữ viết tay:
- Những hạn chế nào có thể phát sinh khi trích xuất văn bản từ các tài liệu phức tạp bằng API Google Vision?
- Tầm quan trọng của mức độ tin cậy trong việc diễn giải văn bản của Google Vision API là gì?
- Làm cách nào API Google Vision có thể nhận dạng và trích xuất chính xác văn bản từ các ghi chú viết tay?
- Những thách thức trong việc phát hiện và trích xuất văn bản từ hình ảnh viết tay là gì?
- Google Vision có thể nhận dạng chữ viết tay không?