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 คืออะไร?
SwiftyTesseract เป็นไลบรารี OCR โอเพ่นซอร์สระดับแนวหน้าออกแบบมาสำหรับระบบนิเวศของ Swift โดยมอบความสามารถให้ผู้พัฒนาซอฟต์แวร์ผสานการจดจำอักขระเชิงแสงอย่างซับซ้อนไปยังแอป iOS และ macOS ของพวกเขาได้อย่างไร้รอยต่อ โดยอาศัยเครื่องยนต์ Tesseract OCR ที่ทรงพลังและได้รับการพิสูจน์ในอุตสาหกรรม ทำให้มีอินเทอร์เฟซ Swift ที่ใช้งานง่ายและเป็นระเบียบสำหรับการสกัดข้อความจากรูปภาพ เอกสารที่สแกน และสื่อดิจิทัลต่าง ๆ ซึ่งทำให้เป็นฐานที่เหมาะสมสำหรับการพัฒนาเครื่องมือตั้งแต่ยูทิลิตี้อ่านข้อความง่าย ๆ ไปจนถึงโซลูชันการประมวลผลข้อมูลที่ซับซ้อนที่ต้องการความแม่นยำในการสแกนและจดจำข้อความภายในสภาพแวดล้อมของ Apple
ไลบรารีนี้ทำให้การบูรณาการ OCR ง่ายขึ้นโดยการห่อหุ้มฟังก์ชันของ Tesseract ไว้ใน API ที่ตรงไปตรงมาและเป็นมิตรต่อผู้พัฒนา มีความยืดหยุ่นสูงตั้งแต่แรกใช้งาน รวมถึงการสนับสนุนหลายภาษาอย่างเต็มรูปแบบ—ฟีเจอร์สำคัญสำหรับการสร้างแอประดับสากล เพื่อให้ได้ความแม่นยำสูง SwiftyTesseract ยังรวมความสามารถในการเตรียมภาพก่อนประมวลผลเพื่อเพิ่มความคมชัดของข้อความก่อนการจดจำ นอกจากนี้ผู้พัฒนายังสามารถปรับแต่งตัวเลือกการกำหนดค่าของ Tesseract เช่น โหมดเครื่องยนต์ OCR และโหมดการแบ่งหน้าได้อย่างละเอียด การผสมผสานของความง่ายในการใช้งาน การสนับสนุนหลายภาษา และความสามารถในการปรับแต่งเชิงลึก ทำให้ SwiftyTesseract เป็นเครื่องมือที่หลากหลายและทรงพลังสำหรับนักพัฒนาซอฟต์แวร์ที่ต้องรับมือกับโครงการจดจำข้อความหลากหลายรูปแบบ
เริ่มต้นใช้งาน SwiftyTesseract
วิธีที่แนะนำสำหรับการติดตั้ง SwiftyTesseract คือการใช้ CocoaPods โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น
ติดตั้ง SwiftyTesseract ผ่าน CocoaPods
pod 'SwiftyTesseract' คุณยังสามารถติดตั้งด้วยตนเองได้โดยดาวน์โหลดไฟล์รุ่นล่าสุดโดยตรงจาก GitHub repository.
ทำ OCR บนรูปภาพผ่านไลบรารี Swift
ไลบรารี SwiftyTesseract โอเพ่นซอร์สทำให้ผู้พัฒนาซอฟต์แวร์สามารถโหลดรูปภาพประเภทต่าง ๆ และดำเนินการ OCR ตามความต้องการภายในแอป Swift ได้อย่างง่ายดาย คุณสามารถใช้รูปภาพจาก assets ของแอปหรือแหล่งอื่นใดก็ได้ ไลบรารีสามารถจดจำข้อความในฟอนต์ต่าง ๆ รวมถึง Serif, Arial, Sans-serif และฟอนต์สคริปต์ ต่อไปนี้คือตัวอย่างโค้ดที่แสดงวิธีที่นักพัฒนาสามารถจดจำข้อความจากรูปภาพภายในแอป Swift
วิธีจดจำข้อความจากรูปภาพในแอปพลิเคชัน Swift?
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")
}
}
การสนับสนุนการเตรียมภาพล่วงหน้า
ไลบรารี SwiftyTesseract มีการสนับสนุนเต็มรูปแบบสำหรับการเตรียมภาพก่อนทำ OCR ภายในแอป Swift ตัวอย่างเช่น คุณสามารถแปลงรูปภาพเป็นระดับสีเทา ปรับขนาด หรือปรับคอนทราสต์ แก้ไขการเอียงของภาพ การทำไบนารี ฯลฯ ต่อไปนี้คือตัวอย่างที่แสดงวิธีที่นักพัฒนาสามารถปรับขนาดรูปภาพก่อนทำ OCR ในโค้ดนี้ resizeImage จะปรับขนาดรูปภาพก่อนประมวลผล ซึ่งเป็นประโยชน์เมื่อทำงานกับรูปภาพความละเอียดสูง
วิธีเตรียมภาพก่อนการดำเนินการ OCR ในแอป Swift?
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")")
}
}
การดำเนินการ OCR หลายภาษา ผ่านไลบรารี Swift
ไลบรารี SwiftyTesseract โอเพ่นซอร์สรองรับการจดจำข้อความในกว่า 100 ภาษา รวมถึงอังกฤษ, สเปน, ฝรั่งเศส, เยอรมัน, จีน และอื่น ๆ อีกมาก คุณสามารถกำหนดภาษาที่ต้องการเมื่อเริ่มต้นไลบรารี ฟีเจอร์นี้ขยายขอบเขตการใช้งานสำหรับผู้ใช้ระดับสากลและความต้องการประมวลผลหลายภาษา นอกจากนี้นักพัฒนายังสามารถสร้างพจนานุกรมกำหนดเองเพื่อปรับปรุงความแม่นยำของกระบวนการ OCR ตัวอย่างต่อไปนี้เป็นการกำหนดค่าไลบรารีสำหรับภาษาอังกฤษและสเปน ซึ่งเป็นประโยชน์เมื่อประมวลผลเอกสารที่มีเนื้อหาผสมหลายภาษา
วิธีเลือกภาษาเพื่อการดำเนินการ OCR หลายภาษาในแอป Swift?
let tesseract = SwiftyTesseract(language: [.english, .spanish])
พารามิเตอร์ OCR ที่ปรับแต่งได้
ด้วยไลบรารี SwiftyTesseract โอเพ่นซอร์ส นักพัฒนาซอฟต์แวร์สามารถปรับแต่งการตั้งค่า OCR เพื่อเพิ่มความแม่นยำสำหรับเอกสารหรือภาษาประเภทเฉพาะได้ มันอนุญาตให้ผู้พัฒนาปรับจูนการประมวลผล OCR ทำให้ไลบรารีสามารถปรับใช้กับสถานการณ์ OCR ที่ซับซ้อนหรือเฉพาะเจาะจงได้ ซึ่งรวมถึงความสามารถในการระบุภาษาและตัวแปร OCR ตามความต้องการของเอกสาร ด้านล่างเป็นตัวอย่างที่แสดงวิธีที่นักพัฒนาสามารถปรับแต่งโหมดเครื่องยนต์ OCR และโหมดการแบ่งหน้า
วิธีปรับแต่งโหมดเครื่องยนต์ OCR และโหมดการแบ่งหน้า ผ่าน 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)")
}
}