iOS9からCIDetectorで画像の文字認識ができるようになりました。
文字の内容までは読み取れないのですが、文字の位置・サイズを取得する事ができます。
使う為にCoreImageをプロジェクトに追加します。
featuresInImageメソッドを使う事で文字位置を取得できます。
結果にsubFeaturesというプロパティーがありますが、これは1文字1文字の位置になります。
featuresInImageのオプションにCIDetectorReturnSubFeaturesを追加すれば取得できます。
let image = UIImage(data: NSData(contentsOfURL: NSURL(string: "画像URL")!)!)! let ciImage = CIImage(image: image)! let detector = CIDetector(ofType: CIDetectorTypeText, context: nil, options: [CIDetectorReturnSubFeatures: true]) let features = detector.featuresInImage(ciImage, options: [CIDetectorReturnSubFeatures: true]) print(features) // 複数の文字列がある場合はfeaturesにも複数の要素がセットされる (features as? [CITextFeature])?.forEach { print($0.bounds) print(($0.subFeatures as? [CITextFeature])?.map { $0.bounds }) }