Free Swift OCR Library to Perform OCR on Scanned Images & PDFs
Open Source Swift Optical Character Recognition (OCR) Library allows to Scan, Recognize, and Extract Text from Camera Photos Scanned Images & PDFs for free inside iOS and macOS
SwiftyTesseract là gì?
SwiftyTesseract là một thư viện OCR mã nguồn mở hàng đầu, được thiết kế đặc biệt cho hệ sinh thái Swift, giúp các nhà phát triển phần mềm tích hợp liền mạch khả năng nhận dạng ký tự quang học tinh vi vào các ứng dụng iOS và macOS của họ. Bằng cách tận dụng động cơ Tesseract OCR mạnh mẽ và đã được chứng minh trong ngành, nó cung cấp một giao diện Swift trực quan và gọn gàng để trích xuất chính xác văn bản từ hình ảnh, tài liệu đã quét và các phương tiện kỹ thuật số đa dạng. Điều này làm cho nó trở thành nền tảng lý tưởng cho các nhà phát triển xây dựng mọi thứ từ tiện ích đọc văn bản đơn giản đến công cụ xử lý dữ liệu phức tạp, yêu cầu khả năng quét và nhận dạng văn bản đáng tin cậy trong môi trường Apple.
Thư viện này đơn giản hoá việc tích hợp OCR bằng cách gói chức năng của Tesseract vào một API dễ hiểu và thân thiện với nhà phát triển. Nó cung cấp tính linh hoạt rộng rãi ngay từ đầu, bao gồm hỗ trợ mạnh mẽ cho nhiều ngôn ngữ – một tính năng quan trọng để tạo ra các ứng dụng quốc tế. Để đảm bảo độ chính xác cao, SwiftyTesseract tích hợp các khả năng tiền xử lý hình ảnh cần thiết, cải thiện độ rõ nét của văn bản trước khi nhận dạng. Hơn nữa, các nhà phát triển vẫn giữ được quyền kiểm soát chi tiết bằng cách tùy chỉnh các tùy chọn cấu hình quan trọng của Tesseract, chẳng hạn như chế độ động cơ OCR và chế độ phân đoạn trang. Sự kết hợp giữa dễ sử dụng, hỗ trợ đa ngôn ngữ và khả năng tùy biến sâu khiến SwiftyTesseract trở thành công cụ đa năng và mạnh mẽ cho các dự án nhận dạng văn bản.
Bắt đầu với SwiftyTesseract
Cách khuyến nghị để cài đặt SwiftyTesseract là sử dụng CocoaPods. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ.
Install SwiftyTesseractvia CocoaPods
pod 'SwiftyTesseract' Bạn cũng có thể cài đặt thủ công; tải xuống các tệp phát hành mới nhất trực tiếp từ GitHub repository.
Thực hiện OCR trên một hình ảnh qua Thư viện Swift
Thư viện SwiftyTesseract mã nguồn mở giúp các nhà phát triển phần mềm dễ dàng tải các loại hình ảnh khác nhau và thực hiện thao tác OCR theo nhu cầu trong các ứng dụng Swift. Bạn có thể sử dụng hình ảnh từ tài nguyên của ứng dụng hoặc bất kỳ nguồn nào khác. Thư viện có thể nhận dạng văn bản trong nhiều phông chữ, bao gồm Serif, Arial, Sans-serif và các phông chữ viết tay. Dưới đây là một đoạn mã mẫu minh họa cách các nhà phát triển phần mềm có thể nhận dạng văn bản từ một hình ảnh trong các ứng dụng Swift.
How to Recognize Text from an Image inside Swift Applications?
import SwiftyTesseract
// Load the image
let image = UIImage(named: "image.jpg")!
// Create a Tesseract instance
let tesseract = Tesseract()
// Set the language to English
tesseract.language = "eng"
// Set the image
tesseract.image = image
// Recognize the text
tesseract.recognize() { result in
if let text = result.text {
print("Recognized text: \(text)")
} else {
print("Error recognizing text")
}
}
Hỗ trợ Tiền xử lý Hình ảnh
Thư viện SwiftyTesseract đã cung cấp hỗ trợ đầy đủ cho việc tiền xử lý hình ảnh trước khi thực hiện các thao tác OCR trong các ứng dụng Swift. Ví dụ, bạn có thể chuyển đổi hình ảnh sang thang độ xám, thay đổi kích thước, hoặc điều chỉnh độ tương phản, chỉnh góc nghiêng của hình ảnh, nhị phân hoá và nhiều hơn nữa. Dưới đây là một ví dụ cho thấy cách các nhà phát triển có thể thay đổi kích thước hình ảnh trước khi thực hiện OCR. Trong ví dụ mã này, resizeImage thay đổi kích thước hình ảnh trước khi nó được xử lý, điều này hữu ích khi làm việc với hình ảnh độ phân giải cao.
How to Preprocessing Images before OCR Operations inside Swift Apps?
func resizeImage(_ image: UIImage, newSize: CGSize) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
image.draw(in: CGRect(origin: .zero, size: newSize))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
if let resizedImage = resizeImage(image, newSize: CGSize(width: 300, height: 300)) {
tesseract.performOCR(on: resizedImage) { recognizedText in
print("Resized Image OCR result: \(recognizedText ?? "No text found")")
}
}
Các thao tác OCR đa ngôn ngữ qua Thư viện Swift
Thư viện SwiftyTesseract mã nguồn mở hỗ trợ nhận dạng văn bản trong hơn 100 ngôn ngữ, bao gồm Tiếng Anh, Tiếng Tây Ban Nha, Tiếng Pháp, Tiếng Đức, Tiếng Trung và nhiều ngôn ngữ khác. Bạn có thể đặt ngôn ngữ mong muốn khi khởi tạo thư viện. Tính năng này mở rộng phạm vi ứng dụng cho người dùng quốc tế và các yêu cầu xử lý đa ngôn ngữ. Hơn nữa, các nhà phát triển có thể tạo từ điển tùy chỉnh để cải thiện độ chính xác của quá trình OCR. Dưới đây là một ví dụ cấu hình thư viện cho Tiếng Anh và Tiếng Tây Ban Nha. Đoạn mã này cho phép OCR hoạt động đồng thời bằng Tiếng Anh và Tiếng Tây Ban Nha, hữu ích khi xử lý tài liệu có nội dung hỗn hợp ngôn ngữ.
How to Select Languages for Multi-language OCR Operations inside Swift Apps?
let tesseract = SwiftyTesseract(language: [.english, .spanish])
Tham số OCR có thể tùy chỉnh
Sử dụng thư viện SwiftyTesseract mã nguồn mở, các nhà phát triển phần mềm có khả năng tùy chỉnh các cài đặt OCR để cải thiện độ chính xác cho các loại tài liệu hoặc ngôn ngữ cụ thể. Nó cho phép các nhà phát triển tinh chỉnh quá trình OCR, làm cho thư viện thích ứng với các kịch bản OCR độc đáo hoặc phức tạp. Điều này bao gồm khả năng chỉ định ngôn ngữ và các biến OCR dựa trên nhu cầu của tài liệu. Dưới đây là một ví dụ cho thấy cách các nhà phát triển có thể tùy chỉnh chế độ động cơ OCR và chế độ phân đoạn trang.
How to Customize OCR Engine Mode and Page Segmentation Mode via Swift API?
let tesseract = SwiftyTesseract(language: .english, engineMode: .lstmOnly)
tesseract.performOCR(on: image, configuration: [.psm(.auto)]) { recognizedString in
if let recognizedString = recognizedString {
print("Recognized text with custom PSM: \(recognizedString)")
}
}