Salut, je m'appelle @RyosukeKamimura et je suis un développeur récent d'applications iOS! Cette fois, nous effectuerons la reconnaissance de texte avec SwiftUI!
Pour ceux qui sont occupés, je vais commencer par la conclusion! !!
Il y a trois conclusions.
Ce qui suit est un tutoriel!
** ① Lien avec Firebase **
Veuillez consulter Firebase Setup. Puisqu'il s'agit d'une partie commune de l'enregistrement avec Firebase, je l'omettrai ici.
** ② Veuillez activer l'API cloud sur la console Firebase **
Activez le bouton à côté de Afficher l'utilisation de l'API Cloud.
** ③ Effectuez la reconnaissance de texte en consultant le document officiel Firebase ** IOS qui reconnaît le texte dans les images à l'aide de MLKit
Je voulais écrire en SwiftUI, donc je l'ai écrit pour bien mailler Coordinator et envelopper UILable! (Nous attendons avec impatience vos commentaires indiquant que vous devriez écrire plus comme ça!)
Dans cet article, j'aimerais que vous prêtiez attention aux fonctions qui effectuent réellement la reconnaissance de texte. (Parce qu'il y en a peu dans la documentation officielle de Firebase)
RecognizedText.swift
func recognizedTextFunc() -> String {
//Écrivez à l'intérieur de cette fonction
}
RecogniedText.swift
func recognizedTextFunc() -> String {
//Initialisation de l'instance de vision
let vision = Vision.vision()
let options = VisionCloudTextRecognizer(options: options)
//Ajouter une priorité de langue
options.languageHints = ["en", "ja"]
let textRecognizer = vision.cloud
vision.cloudTextRecognizer(options: options)
//"logo"Insérer une image
let visionImage = VisionImage(image: UIImage(named: "logo")!)
}
RecognizedText.swift
textRecognizer.process(visionImage) { result, error in
guard error == nil, let result = result else {
return
}
//let resultText = result.text
for block in result.blocks {
//let blockText = block.text
//let blockConfidence = block.confidence
//let blockLanguages = block.recognizedLanguages
//let blockCornerPoints = block.cornerPoints
//let blockFrame = block.frame
for line in block.lines {
//let lineText = line.text
//let lineConfidence = line.confidence
//let lineLanguages = line.recognizedLanguages
//let lineCornerPoints = line.cornerPoints
//let lineFrame = line.frame
for element in line.elements {
let elementText = element.text
//let elementConfidence = element.confidence
//let elementLanguages = element.recognizedLanguages
//let elementCornerPoints = element.cornerPoints
//let elementFrame = element.frame
//self.recognizedText.wrappedValue = elementText
//self.text = elementText
//Stocker le texte résultant dans une liste
getTexts.append(elementText)
}
}
}
//Combinez le texte de sortie en une seule chaîne de caractères
self.recognizedText = getTexts.joined(separator: "")
}
Vous avez maintenant une fonction et vous pouvez récupérer les personnages! Créons une interface utilisateur et exécutons-la!
J'ai pu le reconnaître comme ça!
Nous avons annoncé les grandes lignes et les détails des résultats à Severless LT # 3, alors j'aimerais les voir en détail! Si vous aimez, s'il vous plaît! Diapositive: https://slidelive.jp/slide/17468048a2f1b6ed57c?event_id=17394b601591bcf3f06
Vous pouvez également trouver votre propre code sur Github, alors consultez Github / RyosukeKamimura!
Merci d'avoir lu jusqu'au bout!
référence Tutoriel officiel Firebase [Introduction à Swift Practice](https://www.amazon.co.jp/%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%AC%AC3%E7 % 89% 88-Swift% E5% AE% 9F% E8% B7% B5% E5% 85% A5% E9% 96% 80-% E7% 9B% B4% E6% 84% 9F% E7% 9A% 84% E3% 81% AA% E6% 96% 87% E6% B3% 95% E3% 81% A8% E5% AE% 89% E5% 85% A8% E6% 80% A7% E3% 82% 92% E5% 85% BC% E3% 81% AD% E5% 82% 99% E3% 81% 88% E3% 81% 9F% E8% A8% 80% E8% AA% 9E-PRESS-plus% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA / dp / 4297112132 / ref = pd_lpo_14_t_0 / 358-5779533-7748008? _Encoding = UTF8 & pd_rd_i = 4297112132 & pd_rd_r = b18a5a-47f- Yuq8X & pf_rd_p = 4b55d259-ebf0-4306-905a-7762d1b93740 & pf_rd_r = TA0VPVCKS9G2B2JVWCYN & psc = 1 & refRID = TA0VPVCKS9G2B2JVWCYN)
Recommended Posts