Thư viện Ruby miễn phí nâng cao để tải và trích xuất văn bản từ hình ảnh
Một API Ruby OCR nguồn mở hàng đầu & Trình chuyển đổi hình ảnh sang văn bản cho phép các nhà phát triển phần mềm tải, nhận dạng và trích xuất văn bản từ hình ảnh (hình ảnh được quét và tệp PDF)
Nhận dạng ký tự quang học (OCR) là một công nghệ mạnh mẽ cho phép máy tính nhận dạng và trích xuất văn bản từ hình ảnh hoặc tài liệu được quét. Công nghệ này có nhiều ứng dụng, từ số hóa tài liệu in đến tự động hóa quy trình nhập dữ liệu. Trong ngôn ngữ lập trình Ruby, một thư viện phổ biến cho OCR là Ruby-Tesseract-OCR. Ruby-Tesseract-OCR là một viên ngọc Ruby đóng vai trò là trình bao bọc cho công cụ Tesseract OCR. Tesseract là một công cụ OCR nguồn mở do Google phát triển và nổi tiếng về độ chính xác và hỗ trợ ngôn ngữ.
Ruby-Tesseract-OCR vượt xa các khả năng OCR cơ bản và cung cấp các tính năng bổ sung cho các trường hợp sử dụng nâng cao. Ví dụ: Nhà phát triển phần mềm có thể chỉ định vùng quan tâm (ROI) trong hình ảnh để giới hạn phân tích OCR ở một khu vực cụ thể. Điều này đặc biệt hữu ích khi xử lý các tài liệu phức tạp hoặc khi bạn chỉ cần trích xuất văn bản từ một phần cụ thể. Thư viện cung cấp một số tính năng bổ sung để nâng cao khả năng OCR, chẳng hạn như tải hình ảnh hiện có, trích xuất văn bản từ hình ảnh hoặc tài liệu được quét, lấy đầu ra HOCR (HTML OCR) và nhiều tính năng khác.
Gem Ruby-Tesseract-OCR cung cấp giao diện dễ sử dụng để tương tác với công cụ Tesseract, cho phép các nhà phát triển Ruby tích hợp khả năng OCR vào dự án của họ một cách dễ dàng. Cho dù bạn cần trích xuất thông tin từ hóa đơn, số hóa tài liệu in hay tự động hóa các tác vụ nhập dữ liệu, thư viện nguồn mở này cung cấp giải pháp đáng tin cậy và hiệu quả. Hãy dùng thử và mở khóa tiềm năng của OCR trong các dự án Ruby của bạn ngay hôm nay.
Bắt đầu với Ruby-Tesseract-OCR
Cách được khuyến nghị để cài đặt Ruby-Tesseract-OCR là sử dụng Rubygems. Vui lòng sử dụng lệnh sau để cài đặt trơn tru.
Cài đặt Ruby-Tesseract-OCR thông qua Rubygems
gem install tesseract-ocr
Bạn có thể tải xuống thư viện chia sẻ đã biên dịch từ kho lưu trữ Github.
Trích xuất văn bản từ hình ảnh và tài liệu được quét qua Ruby
Ruby-Tesseract-OCR là một thư viện mã nguồn mở rất mạnh mẽ cho phép các nhà phát triển phần mềm tải và trích xuất văn bản từ nhiều loại hình ảnh khác nhau chỉ bằng một vài dòng mã Ruby. Thư viện giúp trích xuất văn bản từ hình ảnh, PDF hoặc tài liệu được quét dễ dàng. Quy trình làm việc thông thường bao gồm tải hình ảnh, cấu hình các tham số OCR và gọi công cụ OCR để nhận dạng văn bản. Để hoạt động thành công, các nhà phát triển cần cung cấp đường dẫn đến hình ảnh mà họ muốn xử lý và gọi phương thức text_for để trích xuất văn bản. Cuối cùng, kết quả sẽ được in ra bảng điều khiển. Thư viện cung cấp nhiều tùy chọn Fconfiguration để kiểm soát hành vi OCR, chẳng hạn như chế độ phân đoạn trang, ký tự danh sách trắng, v.v. Các ví dụ sau đây cho thấy cách các nhà phát triển phần mềm có thể tải hình ảnh JPEG và trích xuất văn bản từ hình ảnh đó bên trong các ứng dụng Ruby.
Làm thế nào để trích xuất văn bản từ hình ảnh bằng lệnh Ruby?
require 'tesseract'
e = Tesseract::Engine.new {|e|
e.language = :eng
e.blacklist = '|'
}
e.text_for('test/first.png').strip # => 'ABC'
Trích xuất văn bản từ một vùng hình ảnh cụ thể thông qua Ruby
Thư viện Ruby-Tesseract-OCR nguồn mở vượt xa các khả năng OCR cơ bản và cung cấp các tính năng bổ sung cho các trường hợp sử dụng nâng cao. Ví dụ, người dùng có thể chỉ định vùng quan tâm (ROI) trong hình ảnh để giới hạn phân tích OCR trong một vùng cụ thể. Điều này đặc biệt hữu ích khi xử lý các tài liệu phức tạp hoặc khi người dùng chỉ cần trích xuất văn bản từ một phần cụ thể. Ngoài ra, thư viện cung cấp các phương pháp để lấy đầu ra HOCR (HTML OCR), bao gồm không chỉ văn bản được nhận dạng mà còn thông tin về bố cục và tọa độ của các thành phần văn bản. Đầu ra HOCR hữu ích khi bạn cần dữ liệu chi tiết hơn hoặc muốn thực hiện phân tích sâu hơn về cấu trúc văn bản.
Làm thế nào để thực hiện hOCR trên một hình ảnh thông qua Thư viện Ruby?
require 'tesseract'
e = Tesseract::Engine.new {|e|
e.language = :eng
e.blacklist = '|'
}
puts e.hocr_for('test/first.png')