スキャンされた画像と PDF 上で OCR を実行するための無料 Swift OCR ライブラリ
オープンソースの Swift 光学文字認識(OCR)ライブラリは、iOS と macOS 内でカメラ写真、スキャン画像、PDF からテキストを無料でスキャン、認識、抽出できます
SwiftyTesseract とは?
SwiftyTesseract は、Swift エコシステム向けに特別に設計された最先端のオープンソース OCR ライブラリで、iOS および macOS アプリケーションに高度な光学文字認識をシームレスに統合できるようにソフトウェア開発者を支援します。業界実績のある強力な Tesseract OCR エンジンを活用し、画像、スキャンドキュメント、さまざまなデジタルメディアからテキストを正確に抽出するための直感的で洗練された Swift インターフェースを提供します。これにより、シンプルなテキスト閲覧ユーティリティから、信頼性の高いテキストスキャンと認識機能を必要とする複雑なデータ処理ツールまで、Apple 環境内で幅広い開発ニーズに対応できる理想的な基盤となります。
このライブラリは、Tesseract の機能をシンプルで開発者に優しい API にラップすることで OCR 統合を簡素化します。箱から出すだけで多言語サポートを含む高い汎用性を提供し、国際化アプリの作成に不可欠です。高精度を実現するために、SwiftyTesseract は認識前にテキストの明瞭さを向上させる画像前処理機能を組み込んでいます。さらに、開発者は OCR エンジンモードやページ分割モードなど、Tesseract の主要設定をカスタマイズでき、細かな制御が可能です。使いやすさ、多言語サポート、深いカスタマイズ性を兼ね備えた SwiftyTesseract は、さまざまなテキスト認識プロジェクトに取り組むソフトウェア開発者にとって、非常に汎用性が高く強力なツールです。
SwiftyTesseract の開始方法
SwiftyTesseract の推奨インストール方法は CocoaPods を使用することです。スムーズなインストールのために以下のコマンドをご利用ください。
CocoaPods で SwiftyTesseract をインストール
pod 'SwiftyTesseract' 手動でインストールすることもできます。最新のリリースファイルを GitHub リポジトリから直接ダウンロードしてください。
Swift ライブラリで画像の OCR を実行
オープンソースの SwiftyTesseract ライブラリは、ソフトウェア開発者がさまざまな種類の画像を読み込み、Swift アプリケーション内で必要に応じて OCR 操作を実行できるようにします。アプリのアセットやその他のソースから画像を使用できます。ライブラリは 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 ライブラリは、Swift アプリケーション内で OCR 操作を実行する前に画像を前処理するための完全なサポートを提供します。たとえば、画像をグレースケールに変換したり、サイズ変更やコントラスト調整、画像の傾き補正、二値化などが可能です。以下は、OCR を実行する前に画像をリサイズする方法を示す例です。このコード例では、resizeImage が画像を処理前にリサイズし、高解像度画像を扱う際に役立ちます。
Swift アプリで OCR 操作の前に画像を前処理する方法は?
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")")
}
}
Swift ライブラリでのマルチ言語 OCR 操作
オープンソースの SwiftyTesseract ライブラリは、英語、スペイン語、フランス語、ドイツ語、中国語など、100 以上の言語でテキスト認識をサポートします。ライブラリ初期化時に希望する言語を設定できます。この機能により、国際的なユーザーやマルチ言語処理の要件に対応できる範囲が広がります。さらに、開発者はカスタム辞書を作成して OCR 精度を向上させることができます。以下は、英語とスペイン語の両方で OCR を有効にする設定例です。混在言語のドキュメントを処理する際に便利です。
Swift アプリでマルチ言語 OCR 操作のために言語を選択する方法は?
let tesseract = SwiftyTesseract(language: [.english, .spanish])
カスタマイズ可能な OCR パラメータ
オープンソースの SwiftyTesseract ライブラリを使用すると、ソフトウェア開発者は特定のドキュメントや言語に合わせて OCR 設定をカスタマイズし、精度を向上させることができます。これにより、ライブラリはユニークまたは複雑な OCR シナリオに適応可能です。言語や OCR 変数をドキュメントの要件に応じて指定できるほか、OCR エンジンモードやページ分割モードをカスタマイズする例も以下に示します。
Swift API で OCR エンジンモードとページ分割モードをカスタマイズする方法は?
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)")
}
}