Thư viện JavaScript miễn phí để Phân tích Văn bản từ Hình ảnh & Mẫu Quét
Thư viện JavaScript mã nguồn mở cho Nhận dạng ký tự quang học (OCR) để phân tích văn bản từ hình ảnh và tài liệu quét đen‑trắng với hỗ trợ tiền xử lý hình ảnh và mẫu trong các ứng dụng Web hoặc Node.js.
Trong thế giới kỹ thuật số hiện đại, công nghệ nhận dạng ký tự quang học (OCR) đóng vai trò quan trọng trong việc chuyển đổi hình ảnh quét, ghi chú viết tay hoặc tài liệu in sang dữ liệu có thể chỉnh sửa và tìm kiếm. Đối với các nhà phát triển JavaScript đang tìm kiếm giải pháp nhẹ và mã nguồn mở, Guten OCR cung cấp một lựa chọn hấp dẫn. Công cụ OCR dựa trên JavaScript này được thiết kế với sự đơn giản, làm cho nó trở nên lý tưởng để nhúng các tính năng OCR trực tiếp vào các ứng dụng chạy trên trình duyệt hoặc Node.js. Thư viện có một số tính năng quan trọng, như nhận dạng ký tự dựa trên mẫu, ngưỡng và nhị phân hóa hình ảnh, phân đoạn ký tự, so khớp mẫu và lắp ráp văn bản, hỗ trợ cơ sở mã mô-đun, v.v. Nó tập trung vào việc nhận dạng văn bản in từ các tài liệu quét đen‑trắng và phù hợp nhất với văn bản được định dạng tốt, chẳng hạn như sách hoặc biểu mẫu.
Guten OCR là một engine OCR mã nguồn mở viết bằng JavaScript được tạo ra bởi Gutenye. Không giống như các công cụ OCR nặng nề yêu cầu phụ thuộc bên ngoài hoặc cài đặt phức tạp, Guten OCR được viết hoàn toàn bằng JavaScript, có nghĩa là nó có thể chạy trong trình duyệt web hoặc trên máy chủ với Node.js. Thư viện sử dụng các kỹ thuật xử lý ảnh cơ bản để phân đoạn ký tự và nhận dạng chúng bằng hệ thống nhận dạng mẫu ký tự. Mặc dù hiện chưa thể cạnh tranh với các engine OCR thương mại như Tesseract về hỗ trợ đa ngôn ngữ hoặc văn bản viết tay, sự đơn giản và khả năng tùy biến của nó khiến nó trở thành lựa chọn tuyệt vời cho các dự án giáo dục, bằng chứng khái niệm, hoặc tính năng OCR nhúng trong các ứng dụng web tùy chỉnh. Không giống như Tesseract hay các engine lớn khác, Guten OCR được thiết kế cố ý nhẹ và tập trung — làm cho nó là điểm khởi đầu xuất sắc cho những ai muốn hiểu cách OCR hoạt động bên trong.
Bắt đầu với Guten OCR
Cách khuyến nghị để cài đặt Guten OCR là sử dụng Brew. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ
Cài đặt Guten OCR qua Brew
brew install git-lfs Cài đặt Guten OCR qua GitHub
git clone git@github.com:gutenye/ocr.git Bạn cũng có thể cài đặt thủ công; tải các tệp phát hành mới nhất trực tiếp từ GitHub kho lưu trữ.
Tiền xử lý hình ảnh trước các thao tác OCR
Thư viện Guten OCR mã nguồn mở được viết hoàn toàn bằng JavaScript, giúp nó tương thích với cả môi trường trình duyệt và Node.js. Nó bao gồm các chức năng tiền xử lý hình ảnh tích hợp để nâng cao độ chính xác nhận dạng. Nó hỗ trợ Binarization hình ảnh (chuyển sang đen trắng), giảm nhiễu, chỉnh sửa độ nghiêng và hơn nữa. Ví dụ sau đây cho thấy cách các nhà phát triển có thể áp dụng nhiều bước tiền xử lý hình ảnh trước khi thực hiện thao tác OCR trên hình ảnh.
Làm thế nào để áp dụng tiền xử lý hình ảnh trước khi thực hiện OCR bằng Thư viện JavaScript?
const { preprocess } = require('guten-ocr');
// Apply multiple preprocessing steps
const processedImage = preprocess(imageData, [
'grayscale', // Convert to grayscale
'binarize', // Convert to black and white
'deskew', // Correct skew
'denoise' // Reduce noise
]);
// Then perform OCR on the processed image
ocr.recognize(processedImage).then(/* ... */);
Nhận dạng ký tự qua mẫu
Thư viện JavaScript Guten OCR đã cung cấp hỗ trợ đầy đủ cho việc thực hiện các thao tác OCR bằng cách sử dụng mẫu trong các ứng dụng JavaScript. Trọng tâm của Guten OCR là hệ thống so khớp mẫu. Thay vì đào tạo một mô hình học máy, nó sử dụng các mẫu ký tự đã được định trước. Điều này làm cho hệ thống nhanh hơn và dễ hiểu hơn nhưng nhạy cảm hơn với sự nhất quán về phông chữ và bố cục. Để thực hiện nhiệm vụ này, thư viện sẽ vẽ mỗi ký tự (A–Z, a–z, 0–9, v.v.) trên một canvas và sau đó ma trận nhị phân cho mỗi ký tự trở thành mẫu tham chiếu. Khi phân tích một hình ảnh, thư viện so sánh các đoạn hình ảnh với các mẫu này để tìm sự khớp tốt nhất. Nó thực hiện điều này bằng cách kết hợp quét dòng dọc và ngang để xác định các hộp bao quanh.
Phân đoạn ký tự qua thư viện OCR
Thư viện JavaScript mã nguồn mở Guten OCR cho phép các nhà phát triển phần mềm thực hiện phân đoạn ký tự một cách dễ dàng. Khi hình ảnh đã được nhị phân hoá, bước tiếp theo là phân đoạn các ký tự riêng lẻ. Guten OCR quét các hàng và cột để phát hiện các vùng có mật độ pixel đen cao, tách chúng thành các ký tự tiềm năng. Ví dụ sau đây minh họa cách các nhà phát triển phần mềm có thể thực hiện phân đoạn ký tự bằng thư viện OCR JavaScript.
Làm thế nào để thực hiện phân đoạn ký tự bằng Thư viện JavaScript?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]